2012-03-08 5 views
-4

Я работаю над приложением android и мне нужно создать некоторые переменные во время выполнения.Создать переменную во время выполнения

Я стараюсь это ...

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

Я думал, что я могу установить имя переменной, как это (вар + I), но это не позволяет, потому что арифметические символы не позволяют в имени переменной.

Есть ли способ сделать это, я хочу создать некоторые переменные во время выполнения.

+0

я думаю, что если бы мы знали, что вы делаете с теми, созданных переменных мы могли бы быть в состоянии помочь вам лучше. Могут быть лучшие варианты, а не попытки создания переменных. – dymmeh

+6

У меня такое легкое чувство, что это массивы, которые вы ищете. Также рекомендуется использовать базовый учебник по Java. –

+0

Фактически у меня есть переменная String с разными значениями. Поэтому я думаю, что если я создам одну переменную и переименую ее во время выполнения, а также изменим ее значение и сохраню ее в ArrayList для будущего использования. если так или иначе это возможно, тогда, пожалуйста, скажите мне, как? – Pari

ответ

1

Вы не можете создать такое имя переменной, как это вообще. Если вы только заботитесь о том, чтобы иметь возможность генерировать кучу переменных и не волнует, что такое имя на самом деле, тогда рассмотрите массив, достаточно большой для того, что вы считаете нужным, или вектор, если вы просто не знаете сколько.

+0

На самом деле я новичок в андроиде, и я не знаю о Vector. – Pari

0

Другой альтернативой может быть массив String []. Вы не знаете, как вы хотите использовать эти переменные, но вы можете добиться почти такой же функциональности, используя массивы.

Например, var1 = number is 1,

вместо этого вам нужно сделать

array[1] = number is 1 
0

Нет, его не представляется возможным. Однако вы можете обращаться за массивами ..

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

Я хочу изменить имя переменной во время выполнения, и таким образом я сохраняю значение String в массиве. – Pari

2

Попробуйте это:

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

Вы также можете использовать ArrayList

+0

вы сохраняете строку в индексе i. если я это сделаю, то как я могу изменить свое имя переменной, могу ли я сделать что-то вроде Sting string [1] ;? – Pari

+1

Я думаю, вам нужно объяснить нам * почему * вы хотите изменить имя переменной? Как вы считаете, что это будет достигнуто? Значение должно либо перейти в переменную с жестко закодированным именем, либо перейти в контейнер с жестко запрограммированным именем (но элементы этого контейнера не имеют имени). Я считаю, что вы просто хотите хранить много разных строк [в цикле], не давая каждому из них строгое имя ... это то, что [фиксированные] массивы, ArrayLists или Vectors предназначены для хранения многих элементов одного типа, но каждый со своим значением. – JTeagle

Смежные вопросы