gpt4 book ai didi

java - 我不能在 GWT Collections.unmodifiableList(List l) 中使用来使我的列表只可读,因为不是可序列化的替代方法吗?

转载 作者:行者123 更新时间:2023-11-30 08:50:57 26 4
gpt4 key购买 nike

我正在使用 GWT-RPC 创建一个应用程序。在某些时候,服务器使用 Collections.unmodifiableList(List l) 向客户端返回一个 Collection。客户端报错:

[WARN] Exception while dispatching incoming RPC call
com.google.gwt.user.client.rpc.SerializationException: Type 'java.util.Collections$UnmodifiableList' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized

所以,我需要一种替代方法来获得唯一可读的集合,我该怎么做?非常感谢

我的代码如下:

    try {
LinkedList all=new LinkedList();
while(res.next()){
all.add(objectFromCursor(res));
}
return Collections.unmodifiableList(all);
} catch (SQLException e) {
throw new ExceptionHandler("Error: "+e.getMessage());
}



private static Film objectFromCursor(ResultSet res) throws SQLException{
Film film=new Film(res.getString(1));
film.setRegista(res.getString(2));
film.setAnnoDiProduzione(res.getInt(3));
return film;
}

最佳答案

不可修改的可序列化集合本身似乎是矛盾的。为了反序列化一个对象(我认为“可序列化”暗示“可序列化”),它必须是可修改的。

因此只需使用一个可修改的集合通过 GWT-RPC 传递即可。

关于java - 我不能在 GWT Collections.unmodifiableList(List l) 中使用来使我的列表只可读,因为不是可序列化的替代方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com