公共类MyClass {
public static void main(String args[]) {
String s="this is java";
String name[]=s.split(" ");
boolean k;
System.out.println(name[1]);
k=(name[1]=="is");
System.out.println(k);
}}
在这段代码中我得到输出: 是 假
为什么k会返回false?
答案 0 :(得分:-1)
您必须了解==
如何比较平等。
对于基本类型,==
将按值进行比较。对于对象,==
将通过引用进行比较。因此,object1 == object2
仅在object1和object2具有相同引用时才返回true。
这就是它返回false的原因,因为引用不同。
如果您将语句更改为name[1].equals("is")
,它将返回true。