“==”比较两个变量本身的值,即两个对象在内存中的首地址。
“equals()”比较字符串中所包含的内容是否相同。
String s1 = "we are students";就相当于String s1 = new String("we are student ");
这是创建了个String对象,存在堆中,对象的引用存在栈中.
所以这两条语句分别创建了两个对象,两个对象在堆中的地址值不一样,栈中的引用自然不一样!但是值是一样的!所以用"=="比较,肯定是false!
个人理解,希望对你有帮助!
|