考虑这段代码:
public class Param {
@Text(required = false)
protected String param;
public String getValue() {
return param;
}
}
我有这个 xml:
<item key="Key"></item>
解析此 xml getValue()
后返回 null 而不是空字符串。
为什么会出现这种行为?
最佳答案
此行为是指它发现有一个空值(不是空格)。所以 String 绑定(bind)到那个甚至没有初始化(不会占用内存)。
因为 String a="";
是一个初始化变量,它在低级别分配了内存。否则如果设置为空则无需初始化。对于类对象的企业应用程序来说,成本可能很高。
更多
关于字符串是一个字符数组,每个字符都与ASCII相关联值(value)
测试一下
String a="";
System.out.println(a));
输出:
//[B@459bdb65
和
String a;
System.out.println(a));
输出:
java.lang.RuntimeException: Uncompilable source code - variable a might not have been initialized
字符在哪里
char a='A';
System.out.println((int)a);
输出:
65
关于java - 如果在 xml 中它是空的,为什么 simplexml 将 NULL 设置为字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29846019/