java - 扩展 Serialized 接口(interface)有什么影响

标签 java serialization wicket wicket-1.5

我有一个名为 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/

相关文章:

c# - 在 C# 中使用元组键反序列化字符串

java - 是否可以在 Wicket 中嵌套相互独立的表单?

ajax - 为什么运行多个Wicket应用程序会导致AJAX冲突?

java - 将字符串数组格式化为自定义字符串

java - 对象列表的不良 GWT 请求工厂性能

java - 如何从 ArrayList<String> 转换为 double[]?

java - NoClassDefFoundError : org/hibernate/annotations/common/reflection/MetadataProvider

javascript - 加速从 C# 到 JSON 的 JSON 序列化

javascript - 由于 JavaScript 不保证对象中的属性顺序,因此 JSON.stringify() 的实际行为如何?

java - 如何将 BorderBehavior 与 ajax 重新渲染结合使用