首先回答你的问题:s1==s2跟s1.equais(s2)对于s1、s2做的是完全不同的比较
其区别在于:
(1)关于s1==s2,“==”在此检测的是s1和s2是否引用了相同的对象,显然s1和s2在此引用了不同的对象(s1 引用的是abcd,s2引用的是1234)。
在此给出相应的英文解释:The "==" operator checks only whether s1 and s2 refer to the same object. In your example, it is obviously not.
(2)String.equals()方法用来比较两个字符串型对象的内容,显然s1和s2所含的字符串内容也不相符。
在此给出相应的英文解释:The String.equals() method is used to compare the contents of two strings.
总结:“==”这个运算符的操作是针对于对象的, 它所体现的是s1和s2是否代表了相同的对象,并不能体现出s1和s2是否有相同的内容。而 String.equals()方法则是用来比较两个字符串的内容是否一致,是专门对字符串内容作比较用的。 |