- 对于如今的我,早睡的关键是把每一件事提早1小时完成。
有以下一段代码,请选择其运行结果()java
public class StringDemo{ private static final String MESSAGE="taobao"; public static void main(String [] args) { String a ="tao"+"bao"; String b="tao"; String c="bao"; System.out.println(a==MESSAGE); System.out.println((b+c)==MESSAGE); } }
正确答案: Ccode
要注意两个问题: 1,字符串在java中存储在字符串常量区中 2,==判断的是对象引用是不是同一个引用,判断字符串相等要用equals方法 首先判断a==MESSAGE 同一份字符串常量在内存中只有一份,所以是同一地址,返回true 再次比较(b+c)==MESSAGE 这至关于 new String(b+c)==MESSAGE 这里new了一个String对象,因此返回false