簡單說明:
== 比較的是變量的首地址
equals 比較的是變量的內容
public static void main(String[] args) {String a = "123";String b = "123";String c = new String("123");String d = new String("123");/*** ==*/System.out.println("--------- == -----------");System.out.println(a==b);//falseSystem.out.println(c==d);//falseSystem.out.println(a==c);//false/*** equals*/System.out.println("--------- equals -----------");System.out.println(a.equals(b));//trueSystem.out.println(c.equals(d));//trueSystem.out.println(a.equals(c));//true}
equals
和==
都是比較變量的地址public static void main(String[] args) {StringBuffer a = new StringBuffer("123");StringBuffer b = new StringBuffer("123");StringBuilder c = new StringBuilder("123");StringBuilder d = new StringBuilder("123");/*** ==*/System.out.println("--------- == -----------");System.out.println(a==b);//falseSystem.out.println(c==d);//false/*** equals*/System.out.println("--------- equals -----------");System.out.println(a.equals(b));//falseSystem.out.println(c.equals(d));//false/*** 地址相同時*/a = b;c = d;System.out.println(a==b);//trueSystem.out.println(c==d);//trueSystem.out.println(a.equals(b));//trueSystem.out.println(c.equals(d));//true}
==
是比較地址的,而equals
是比較內容的。public static void main(String[] args)
{ float a = 1.2f;float b = 1.2f;System.out.println(a == b);//trueSystem.out.println(a.equals(b));//錯誤,編譯不能通過
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态