我想知道如何用一些java表达式执行String变量,假设我在测试类c1-c10中创建了10个汽车对象而没有使用数组,例如。
for(int i = 1; int < 11; i++)
{
String getCarBrand = "car" + i + ".getBrand();"
System.out.println("Car number " + i + "is "+ getCarBrand);
};
我知道我可以轻松地使用数组,但我想知道是否有一种将String作为java表达式执行的方法。
感谢。
答案 0 :(得分:7)
你做不到。
.class
文件中,也不再有变量名。 &lt; ---这一点特别重要,因为对于大多数其他事情,仍然可以使用反射,例如类字段。见附录I. public class Foo {
public Car car1;
public Car car2;
public Car car3;
public Car car4;
public Car car5;
public String toString() {
StringBuilder builder = new StringBuilder();
for(int i = 1; i <= 5; i++) {
builder.append(Foo.class.getField("car" + i).get(this).toString());
}
return builder.toString();
}
}