我是JAVA的初學者,剛剛開始學習這門語言。我在How to initialize an array in Java?研究線程,但無法真正找到解決方案。稍後在程序中設置數組的值
我的目標是在聲明所有變量時初始化數組,然後在程序中稍後設置值(原因是我想讓我的代碼保持乾淨,即我不想初始化並且)。具體來說,我不想同時聲明和設置值,但是在不同的時間。
public class AutoArray {
public static void main(String[] args) {
//Option 1
int[] Array1 = new int[4]; //Declare
Array1[0] = 3; //Set individual elements. Fine but repetitive.
Array1[1] = 4;
Array1[2] = 5;
Array1[3] = 6;
System.out.println("Array1 is:"+Array1);
//Option 2
int Array3[] = {3,4,5,6}; //Declare and set at the same time. Not good.
System.out.println("Array3 is:"+Array3);
//Option 3
int Array5[] = new int[3];
Array5[] = {3,5,11}; //Won't compile
}
}
正如我們可以看到上面,我可以(選項1)的陣列的設定各個元件使用Array[i] = XYZ
其中i<4
或(在:
這是我的代碼與從SO線程上面瞭解到不同的選項選項2)在聲明數組時設置值。
但是,我想做一些我在選項3中嘗試的東西 - 稍後使用大括號設置值。我不想重複設置單個元素的代碼,因爲它看起來很笨重,或者不能使用for
循環,因爲這些值不符合模式。
有什麼我可以做的嗎?我會很感激任何想法。
你從哪裏得到這樣的想法,即同時聲明和初始化變量不是乾淨的代碼?將所有東西保存在一個地方儘可能乾淨。 –
@Kevin Krumwiede - 感謝您的提問。我認爲它不是乾淨的,因爲假設你有50個變量,並且你在不同的文件中創建了一個函數(我已經從C過渡到Java,所以我不相當於JAVA中的函數或方法)來聲明這些變量。我認爲代碼審查人員在聲明部分和使用(設置)部分之間來回訪問不是一個好的經驗。對?我是JAVA世界的新手,所以我不確定處理這個問題的最佳方法。我會很感激你的想法。 – watchtower
@watchtower開始編寫代碼,你會知道你擔心的事情很少是真正的問題。在你的情況下,你應該簡單地聲明+初始化它使用的地方的局部變量。你試圖做的通常會創建難以複審的代碼 –