2013-09-17 2 views
0

Мне было интересно, можно ли объявить переменную типа «vx» в цикле и иметь ее, что каждый раз, когда она зацикливается, изменяется значение x. Таким образом, когда цикл проходит через 5 раз, переменные будут называться v1, v2, v3, v4, v5.Можете ли вы объявить несколько переменных с разными именами переменных в цикле без использования массива?

+1

А почему вы хотите сделать это? –

+3

Нет, вы не можете динамически назвать переменные в Java. –

+0

Почему вы не хотите использовать массив для этого? –

ответ

1

В принципе, вы не можете объявлять переменные с разными именами переменных в цикле для Java, являющегося статически типизированным языком.

Нет смысла объявлять (инициализировать) переменные внутри цикла с разными именами. В конце концов, переменные выходят из области действия и уничтожаются (сбор мусора), если их объем находится внутри цикла.

Если вы хотите инициализировать переменную класса, вы можете попробовать Reflection API, но ее следует избегать для many reasons.

0

Это, конечно, не возможно, потому что Java статически типизирована. Переменные должны быть доступны во время компиляции, но цикл выполняется во время выполнения.

0

Вы не можете динамически назвать переменные в java. Но вы можете сделать некоторые вещи, как следует

List<String> dataList=new ArrayList<>(Arrays.asList("a","b")); 
    Map<String,String> map=new HashMap<>(); 
    String preFix="var"; 
    char postFix='1'; 
    for(String i:dataList){ 
     map.put(preFix+postFix,i); 
     postFix++; 
    } 
    System.out.println(map); 

Out положить:

{var1=a, var2=b} 
Смежные вопросы