我知道以下不是一个好的设计,但这是我需要解决的问题
public final class TestBean {
private String field1;
private String field2;
private String field3;
public String getField1() {
return field1;
}
public void setField1(String field1) {
this.field1 = field1;
}
public String getField2() {
return field2;
}
public void setField2(String field2) {
this.field2 = field2;
}
public String getField3() {
return field3;
}
public void setField3(String field3) {
this.field3 = field3;
}
}
Run Code Online (Sandbox Code Playgroud)
并且需要动态填充类中的字段.
假设我有一个数组{"abc","def"},该类应该以field1 ="abc",field2 ="def"和field3 =""开始; 如果数组是{"a"}并且field1 ="a",则field2 ="",field3 ="".
是否有可能实现这一目标?
更新:显然我没有说好问题.实际上,该字段不仅仅是三个,它是从字段1,字段2到字段15.然后它不仅仅是一个字段,还有另一个字段调用,例如名称,从名称1到名称15:
public final class TestBean {
private String field1;
private String field2;
...
private String field15;
private String name1;
private String name2;
...
private String name15;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用varargs来实现此目的:
public TestBean(String... args) {
field1 = "";
field2 = "";
field3 = "";
if (args.length >= 1) field1 = args[0];
if (args.length >= 2) field2 = args[1];
if (args.length >= 3) field3 = args[2];
}
Run Code Online (Sandbox Code Playgroud)
并以这种方式初始化您的对象:
new TestBean("abc", "foo");
String[] array = new String[]{"abc", "foo"};
new TestBean(array); // or this way if the array already exists
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2252 次 |
最近记录: |