我對下面的代碼有些困惑:將字符串傳遞到字符串數組引用
class BooksTestDrive {
public static void main(String [] args) {
String [] islands = new String[4];
islands[0] = "Bermuda";
islands[1] = "Fiji";
islands[2] = "Azores";
islands[3] = "Cozumel";
}
}
我的假設下,由於沒有對象初始化這會返回一個錯誤NullPointerException
。
我認爲我需要做
class BooksTestDrive {
public static void main(String [] args) {
String [] islands = new String[4];
islands[0] = new String();
// etc..
islands[0] = "Bermuda";
islands[1] = "Fiji";
islands[2] = "Azores";
islands[3] = "Cozumel";
}
}
爲什麼在這裏好嗎? 爲什麼不拋出異常?
我明白了。所以,如果它可以讓我們說NotAStringClass [] islands = new NotAStringClass [4]; 然後傳遞一個字符串到島嶼[0]將無法正常工作? – Lion
@Lion你看不到,對不起。 _islands [0] =「百慕大」; _和_islands [0] =新字符串(「百慕大」); _在功能上做同樣的事情,兩者都可以工作,但爲這兩個任務創建String對象,生活在內存中的不同位置。 – Juvanis
明白了。你和哈桑的答案幫助我得到了答案。 謝謝:) – Lion