- 對於如今的我,早睡的關鍵是把每一件事提早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