1.equals 是 String 对象的方法,可以通过 "." 调用。
2.== 是一个运算符。
1、基本数据类型比较。
equals 和 == 都比较两个数值 是否相等。相等即为 true, 不相等则为 false。
2、引用对象的比较。
equals 和 == 都比较栈内存中的地址是否相等。相等即为 true, 不相等则为 false。
1、String 是一个特殊的引用类型。对于两个字符串的比较,不管是 == 还是 equals 这两者比较的都是字符串是否相同。
2、当创建两个 String 对象时,内存中的地址是不相同的,你可以赋相同的值。
所以字符串的内容相同。引用的地址不一定相同。
3、基本数据类型比较(String 除外)== 和 equals 都是比较数值。
比较 String 对象:Ex
- public class TestEquals {
- public static void main(String args[]) {
- String s1 = new String("hello");
- String s2 = new String("hello");
- System.out.println("s1 == s2的结果是:" + (s1 == s2)); //false
- System.out.println("s1.equals(s2)的结果是:" + s1.equals(s2)); //true
- }
- }
基本数据类型此处省略(两者效果一样)。
来源: http://www.cnblogs.com/ning123/p/5902673.html