equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,
即两个对象的内容是否相等。
==用于 比较引用和 比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
Eg:
==用于 比较引用和 比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
Eg:
s1 = new String("sony"); //创建的是字符串对象
s1.equals("sony"); //返回true
s1.equals("sony"); //返回true
s1 == "sony" //返回false
//如果
s1 = "sony";
s1 == "sony" //返回true
//如果
s1 = "sony";
s1 == "sony" //返回true
equals比较的是两个对象的内容是否相等,==比较的是两个对象的引用是否相同,也就是说比较的是这两个对象是不是一个对象
可以参考:http://blog.csdn.net/darxin/archive/2010/01/23/5247391.aspx
老生常谈:==与equals的区别
对于Java初学者而言,==与equals是容易混淆的。当然区分它们也是简单的,只要记住:
==只针对变量的值;equals只针对对象的内容。
记住上句话的同时,请记住下面的一句话:
引用类型的变量值是所指对象的内存地址。