2012-07-07 52 views
1

我是php开发人员刚刚在java开始我想在循环内声明动态变量,为此我必须将循环值附加到变量名称这是我想要的。变量声明,其名称包含来自循环的值

I would like to make statement like this 

for (i=1; i<6; i++) 
{ 
String new_variable_ + i; 
} 

上面的代码在java中不起作用怎么办?

+1

有没有动态变量在Java中。尝试使用HashMap或ArrayList来保存变量。 – azgolfer 2012-07-07 05:14:32

+0

改为使用数组。 – 2012-07-07 05:15:03

+0

有没有办法做到这一点:S? – 2012-07-07 05:18:22

回答

2

你正在尝试做的是不可能在Java ......这种语言 不是失去像php..its一种严格的语言

-2

如果你只是想在循环中使用我的字符串版本,你需要:

for (int i=1; i<6; i++) 
{ 
    String new_variable_ = "" + i; 
    //use new_variable here. 
} 

如果你正在寻找不同的东西,我需要一些更多的细节。祝你好运!

+0

我想附加我的变量名称,而不是值.. – 2012-07-07 05:15:55

+1

哦。你不能用Java来做到这一点。 – jwismar 2012-07-07 05:18:39

+0

这听起来令人不安的PHP开发人员:S – 2012-07-07 05:19:39

-1

就像我在评论中所说的那样,Java中没有动态变量。在最好的情况,你可以这样做:

HashMap variableMap = new HashMap<String,String>(); 

for (int i = 1; i < 6; i++) { 
    variableMap.put("new_variable_" + i, "some variable value"); 
} 

然后访问它们,你这样做:

String value = variableMap.get("new_variable_2"); 

或者更新它,你这样做:

variableMap.put("new_variable_2", "new value"); 
2

声明变量声明为静态标识符,并且不能包含任何在java中的计算值(我冒昧地说,在任何静态类型的语言中这将是真实的)。你说你找不到关联数组。你有没有看到java.util.Map接口(和它的实现)?它在定义上是一个关联数组:

维基百科:在计算机科学中,关联数组,映射或字典是由(键,值)对的集合组成的抽象数据类型,以便每个可能的键出现在最集中的一次。