==:
两边是基本数据类型时才是作值的比较。
如果是对象,那比较的就是对象的引用,而不是对象本身。如果两个具有相同值的引用不是指向同一个对象,那就会返回false,比如:
String string1 = new String("123");
String string2 = new String("123");
System.out.println(string1 == string2);
此时输出为false。所以判断对象相等还是要用string1.equals(string2);
.equals():
虽然是Object的方法,但是大多数类都对它进行了重写。
使用的时候一定要注意不能null.equals(),即:
String string1 = null;
string1.equals();
所以在使用.equals()之前一定要进行判空
两边是基本数据类型时才是作值的比较。
如果是对象,那比较的就是对象的引用,而不是对象本身。如果两个具有相同值的引用不是指向同一个对象,那就会返回false,比如:
String string1 = new String("123");
String string2 = new String("123");
System.out.println(string1 == string2);
此时输出为false。所以判断对象相等还是要用string1.equals(string2);
.equals():
虽然是Object的方法,但是大多数类都对它进行了重写。
使用的时候一定要注意不能null.equals(),即:
String string1 = null;
string1.equals();
所以在使用.equals()之前一定要进行判空