[英]Java - Declaring Arrays
當我創建一個新數組時,我會做這樣的事情。
int[] anArray = {1, 2, 3};
但我看到有些人做了類似的事情。
int[] anArray = new int[] {1, 2, 3};
我明白它的作用,但我不明白它的目的。 這樣做有什么好處呢?
謝謝
它們幾乎是一樣的,但第一個適用於對象分配,如:
int[] anArray = {1, 2, 3};
另一個更像球狀
callingMyMethod(new Object[]{object1,object2});
語法錯誤
callingMyMethod({object1,object2});
讓我們進一步吧
這些初始化是正確的:
Object[] objeto={new Object(), new Object()};
Object[] objeto=new Object[]{new Object(), new Object()};
也是對的:
Object[] objeto;
objeto=new Object[]{new Object(), new Object()}
但正如喬恩所說,這是錯誤的:
Object[] objeto;
objeto={new Object(), new Object()};
無論如何你的兩種語法都是正確的。 一方面對另一方沒有任何好處。
有趣的閱讀這個主題:
Oracle官方文檔中的數組
這一點也包含在這個主題中
這只是一個標准。 如果您使用:
int[] anArray = new int[] {1, 2, 3};
你是說每個數字(1,2,3)都是一個int。 它不能是雙倍的,浮動的等等。這只是出於安全原因。
如果聲明應該在初始化之前完成,則可以使用第二種方式。
int[] arr;
arr = { 2, 5, 6, 12, 13 };
不行,所以你使用:
int[] arr;
arr = new int[]{ 2, 5, 6, 12, 13 };
代替。 另一種方法是聲明另一個變量:
int[] arr;
int[] tmparr = { 2, 5, 6, 12, 13 };
arr = tmparr;
因此,如果您不需要從初始化中分離聲明,那么只需要清理代碼(使用任何一個)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.