2012-03-08 79 views
-4

我正在開發一個android應用程序,我需要在運行時創建一些變量。運行時創建變量

我試試這個...

for (int i = 0; i < 10; i++) { 
    String var+i = "number is: " + i; 
} 

我想我可以設置變量的名稱是這樣的(VAR + I),但這是不允許因爲算術符號不是在變量名允許。

有沒有辦法做到這一點,我想在運行時創建一些變量。

+0

我想,如果我們知道你與那些創建的變量做什麼,我們也許能幫助你更好。可能有更好的選擇,而不是試圖創建變量。 – dymmeh 2012-03-08 16:31:30

+6

我有這種輕微的感覺,它是數組,你正在尋找。另外一個基本的Java教程是非常值得推薦的。 – 2012-03-08 16:33:10

+0

實際上,我有10個不同值的字符串變量。所以我認爲,如果我創建一個變量並在運行時重命名它,並且更改它的值並將其存儲到ArrayList以供將來使用。 如果有,那麼請告訴我怎麼做? – Pari 2012-03-08 16:38:38

回答

1

你不能創建一個這樣的變量名。如果你只關心能夠生成一堆變量而不關心名稱的實際名稱,那麼就考慮一個足夠大的數組,以供你認爲你想要的最多,或者一個Vector,如果你只是不知道多少。

+0

其實我是新的android和我不知道向量。 – Pari 2012-03-08 17:08:21

0

另一種選擇可能是使用String []數組。你不清楚你想如何使用這些變量,但是你可以使用數組來實現幾乎相同的功能。

例如,var1 = number is 1

,而不是你需要做的

array[1] = number is 1 
0

不,它不是可能的。然而,你可以去陣列..

​​
+0

我想在運行時更改變量名稱,並以這種方式只將字符串值存儲到數組中。 – Pari 2012-03-08 16:56:11

2

試試這個:

String[] strings = null; 
for(int i = 0 ; i < 10 ; i++) 
strings[i] = "Number is " + i; 

您也可以使用ArrayList

+0

您正在i索引處存儲字符串。如果我這樣做,那麼我該如何改變我的變量名稱,我可以做什麼像斯汀弦[1];? – Pari 2012-03-08 16:49:48

+1

我想你需要向我們解釋*爲什麼*你想改變一個變量的名字?你認爲這將實現什麼?一個值必須進入具有硬編碼名稱的變量,或者進入具有硬編碼名稱的容器(但該容器的元素沒有名稱)。我相信你只是希望能夠在循環中存儲許多不同的字符串,而不必爲每個字符串賦予一個硬編碼的名字......這就是[固定]數組,ArrayLists或Vectors所用於的 - 存儲許多項目一種類型但每種都有自己的價值。 – JTeagle 2012-03-08 21:16:30