3、s这个方法,因此这个方法就来自Object类, 而Object类中的equals方法是用来比较“地址”的,所以等于false.注意(2):对于s3和s4来说,有一点不一样要引起注意,由于s3和s4是两个字符串常量所生成的变量,其中所存放的内存地址是相等的,所以s3==s4是true(即使没有s3=s4这样一个赋值语句)(2)对于非字符串变量来说,"=="和"equals"方法的作用是相同的都是用来比较其对象在堆内存的首地址,即用来比较两个引用变量是否指向同一个对象。比如:classA{ A
4、obj1 = new A(); Aobj2 = new A();}那么:obj1==obj2是false obj1.equals(obj2)是false 但是如加上这样一句:obj1=obj2;那么 obj1==obj2 是true obj1.equals(obj2)是true 总之:equals方法对于字符串来说是比较内容的,而对于非字符串来说是比较其指向的对象是否相同的。 ==比较符也是比较指向的对象是否相同的也就是对象在对内存中的的首地址。 Stri