我有一个名为 IDisplayEnum
的可显示枚举接口(interface)。我将其用于多个 wicket 组件,在其中调用 display()
并获取枚举的正确表示。要创建 DisplayEnumLabel 我有这样的代码:
public class DisplayEnumLabel extends Label {
public DisplayEnumLabel(String id, IModel<? extends IDisplayEnum> model) {
super(id, model);
}
}
然后我使用以下方法创建:
add(new DisplayEnumLabel(new PropertyModel(object,"fieldname")));
现在有时我想做 Model.of(T object)
当不需要 PropertyModel 时,但这里 T
应该扩展 Serialized 所以我的枚举“不适合” 。我可以用 Serailizable
扩展 IDisplayEnum
来解决这个问题。
现在我的问题是,这会产生什么影响?我有大约 20 个枚举实现这个接口(interface),并且它被大量使用。这会影响性能、安全性或任何常见的可序列化接口(interface)的缺点吗?
最佳答案
我不知道实现 Serialized 有任何负面影响。
无论如何,Wicket 组件树引用的所有内容都必须是可序列化的。 您可以使用 IDetachableModels 来解决这个问题,但 Model 保留对包装对象的直接引用。
关于java - 扩展 Serialized 接口(interface)有什么影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429639/