Why doesn't XMLDecoder respect the transient keyword?
Java有一个用于默认序列化的瞬态关键字,以指示不应该序列化的值。但是,如果将XML序列化与XML解码器一起使用,则与该字段关联的属性仍然是序列化的。我在JSON中对GSON库进行了同样的尝试,并且临时字段似乎被正确地跳过了。
你知道为什么吗?
XML编码器/解码器支持
EDCOX1的1个关键字是用于Java对象序列化过程,其结束在字节序列中。XML"序列化"以格式化的文本文档结尾。当您选择一个字段不进行序列化(通过将其标记为
1 2 3 4 5 6 7 8 9 | BeanInfo info = Introspector.getBeanInfo(JTextField.class); PropertyDescriptor[] propertyDescriptors = info.getPropertyDescriptors(); for (int i = 0; i < propertyDescriptors.length; ++i) { PropertyDescriptor pd = propertyDescriptors[i]; if (pd.getName().equals("text")) { pd.setValue("transient", Boolean.TRUE); } } |
这不是一个优雅的解决方案。另一种选择是使用