[英]Java member variables as associative array like AS3
在ActionScript 2和3中,我们可以访问类的成员变量,就像在关联数组中一样。
例如
//AS3 Code
private var tempvar:String="Hello";
function printString()
{
trace(this.tempvar);
trace(this[tempvar]);// would print the same as above
}
我想知道在Java中是否也可以做到这一点。
我需要这个的原因是因为,我的Java代码中有一些类似于以下的变量
//java code
private String var_1, var_2, var_3, var_4;
要访问这些变量,我必须编写4个不同的语句
//java code
var_1="SomeValue1";
var_2="SomeValue2";
var_3="SomeValue3";
var_4="SomeValue4";
如果在AS3中,我可以做这样的事情
//AS3 Code
for( var i=1; i<=4;i++)
{
this["var_"+i]="SomeValue"+i;
}
如果有人可以让我知道如何在Java中执行相同的操作,我将是一个非常高兴的程序员。
谢谢
从理论上讲,您可以使用反射API来执行此操作。 实际上,您不会在Java中使用这种编码风格。
我认为您需要重构Java代码...
您可以使用Map<String, String>
来实现。
您可以使用数组,例如:
String[] myVars = new String[4];
for(int i = 0; i < myVars.length; i++)
{
myVars[i]="SomeValue"+i;
}
您可以使用beanutils: http ://commons.apache.org/beanutils/
BeanUtils.setProperty(yourVarsObject, "foo", "bar");
这将在yourVarsObject上调用setFoo(“ bar”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.