我正在处理现有代码,并且在检查字符串时发现奇怪行为为空或空。现有代码:JAVA中空字符串的奇怪行为
System.out.println("Length: " + value.length());
if (value != null && value != "") {
//code
}
输出:
Length: 0
但是,if语句为真及其执行代码。
当我更换了if语句与此一:
if (value != null && value.length() > 0) {
//code
}
它完美。任何想法为什么前一个失败,为什么值!=“”返回true?
好的,但为什么value!=“”返回true? –
@st_ahmed因为==和!=比较引用而不是字符串的内容。 – Rustam
@st_ahmed当然你是对的Rustam,如果你想比较值使用equals() – Abdelhak