当前位置: 技术问答>java相关
看看会输出什么?结果是equal b,==在string里不是比较两个串是不是相等嘛?
来源: 互联网 发布时间:2015-04-30
本文导语: public class aa{ public static void main(String[] args){ String s=new String("computer"); if (s=="computer") System.out.println("Equal a"); if (s.equals("computer")) System.out.println("Equal b"); } } | 因为你是用 new...
public class aa{
public static void main(String[] args){
String s=new String("computer");
if (s=="computer")
System.out.println("Equal a");
if (s.equals("computer"))
System.out.println("Equal b");
}
}
public static void main(String[] args){
String s=new String("computer");
if (s=="computer")
System.out.println("Equal a");
if (s.equals("computer"))
System.out.println("Equal b");
}
}
|
因为你是用 new 实例对象s,所以"=="是比较对象名(即指针),如果你用
String s = "computer"; 声明,则结果是:
Equal a
Equal b
String s = "computer"; 声明,则结果是:
Equal a
Equal b
|
对于类都要用equals,
基本数据类型才能用==
基本数据类型才能用==
|
==比较是否为同一个对象,
而equal比较值是否相同
而equal比较值是否相同
|
String里面被override的是==