我找到了一个例子,其中生成了一个由类似的类定义的变量框:
public class CRandom {
public String var1;
public double var2;
}
然后创建了一个带有'类' -type的变量:
CRandom box = new CRandom();
在此框中可以添加所有变量:
box.var1 = "hello";
box.var2 = 1.234;
我想添加数组,而不是添加单个变量,如下所示:
box.var1[0] = "hello";
box.var2[0] = 1.234;
我希望有人能够理解我的问题,因为我理解得太少,不能恰当地说出来,也不知道任何搜索条件。
答案 0 :(得分:4)
两个选项:
CRandom[] crandoms = new CRandom[10];
crandoms[0] = new CRandom();
crandoms[0].var1 = "hello";
crandoms[0].var2 = 1.234;
或者:
public class CRandom {
public String[] vars1;
public double[] vars2;
}
CRandom box = new CRandom();
box.vars1 = new String[10];
box.vars2 = new double[10];
box.vars1[0] = "hello";
box.vars2[0] = 1.234;
取决于CRandom
代表的内容。
答案 1 :(得分:0)
您正在打破封装规则,这是Java等面向对象编程语言的关键租户。最好用一些接口方法封装变量并隐藏实现:
public class CDRandom {
List<String> var1= new ArrayList<>();
List<String> var2= new ArrayList<>();
private void addVar1(String val){
var1.add(val);
}
private void addVar2(String val){
var2.add(val);
}
}
...
CDRandom box= new CDRandom();
box.addVar1("someval");
...
通过这种方式,您可以更改存储/处理或计算值的内部方式,而无需其他程序知道其完成方式。