我对下面的代码有些困惑:将字符串传递到字符串数组引用
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