JAVA中我用split读取一串字符返回给一个数组,但是当我用数组判断的时候为什么无法判断,下面是代码
String str = "boo:and:foo";
String [] b=str.split(":");
if(b[0]=="boo"){
System.out.println("这个相同哦");
}
按说应该输出一个"这个相同哦",但是为什么没有输出
String str = "boo:and:foo";
String [] b=str.split(":");
if(b[0]=="boo"){
System.out.println("这个相同哦");
}
按说应该输出一个"这个相同哦",但是为什么没有输出
== 比较的是引用地址,
equals 先比较应用地址,然后比较对象值b[0] 是引用地址,"boo"是具体指你比较肯定是不相等的
用equals就不同了,它可以比较两个对象值(b[0]引用地址指向的值‘boo’)