[英]Is it possible to use a String instead of a variable name in Java
我创建了3个变量
radio1 radio2 radio3
是否可以使用for循环和一个名为“radio”的String来最后添加计数器以获取变量?
比如像这样的东西
for(i=1;i<=3;i++)
if(("radio" + i).method())
do something
提前致谢
您可以使用Radio对象并使用数组:
Radio[] radios = new Radio[] {radio1, radio2, radio3};
for(i=0;i<3;i++)
if(radios[i].method())
do something
如果要通过形成名称来访问变量,还可以使用Java的反射API 。 但这是一项昂贵的操作,一般不可取。
您应该使用array
以便轻松迭代所有array
。
如果您不知道有多少项目,您也可以使用列表。
最方便的方法是使用这样的中间数组:
Radio radio1, radio2, radio3;
for(Radio radio: Arrays.asList(radio1, radio2, radio3))
if( radio.method() )
doSomething();
java.util.Arrays
由JDK提供。
这有效。 但请考虑一下,你真正想要三个单独的Radio
实例多少次,而你对其中一个实际上并不感兴趣的次数多少次。 在后一种情况下,将三个实例从一开始就放入一个Collection
或一个数组中,并忘记三个单独的实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.