我的理解是,由于性能原因,要为GWT RPC序列化的DTO应该声明其实现类型尽可能低的字段。例如,一个人应该更喜欢ArrayList而不是List或Collection,无视我们通常收到的相反的建议(例如,有效的Java,第52项)。
对于JDK集合,这是没有问题的--大多数情况下,Map是HashMap,Set是HashSet,List是ArrayList。然而,我使用的是Guava的不可变的*集合(例如,ImmutableList),我真的不知道我最终会得到哪个实现,我需要接受它并让GWT模拟所有它们吗,或者有什么方法可以在这里做损害控制吗?
发布于 2011-05-13 14:13:21
正确的。只需使用API中最具体的类型即可。
使用@GwtCompatible(serializable = true)注释的子类型可以在GWT上序列化,除非另外指定(由另一个@GwtCompatible(serializable = false)指定)。您可以安全地将Immutable*类型用作GWT接口。
https://stackoverflow.com/questions/5987603
复制相似问题