Java 使用for循环将值直接传递给setter方法
这是我的能手和能手:Java 使用for循环将值直接传递给setter方法,java,arrays,for-loop,getter-setter,Java,Arrays,For Loop,Getter Setter,这是我的能手和能手: private int[] test; public int[] getTest() { return Arrays.copyOf(test, test.length); } public void setTest(int[] test) { this.test= Arrays.copyOf(test, test.length); } 这是我手动将值传递给setter方法的代码 Sample sample = new Sample(); samp
private int[] test;
public int[] getTest() {
return Arrays.copyOf(test, test.length);
}
public void setTest(int[] test) {
this.test= Arrays.copyOf(test, test.length);
}
这是我手动将值传递给setter方法的代码
Sample sample = new Sample();
sample.setTest(new int[]{0,1,2,3});
我想要的是这样的东西:
for (int i = 0; i < 3; i++) {
//code here for passing the value to the setter
}
for(int i=0;i<3;i++){
//这里的代码用于将值传递给setter
}
这对我来说是可行的,有没有办法使用for循环传递这些值?我还想知道如何将数组作为一个整体传递?否,不能将
for循环
作为新的测试
数组值传递
您可以编写一个单独的函数,从for循环中为您生成一个int数组
:
public int[] getNumbers(int start, int end, int increment) {
List<Integer> values = new ArrayList<>();
for (int i = start; i < end; i += increment) {
values.add(i);
}
return values.stream().mapToInt(i->i).toArray();
}
或者,对于更简单的数组(仅从startNumber到endNumber的整数范围,增量为1),可以执行以下操作:
sample.setTest(IntStream.rangeClosed(1, 10).toArray());
nbokmans的答案是正确的;但我建议退一步,看看你们的要求 我的意思是:你应该决定你是否想要
- 允许作为一个整体传入数组的接口
- 允许传入单个值的接口
public class Whatever {
private final List<Integer> data = new ArrayList<>();
public void append(int value) {
data.add(value);
}
public void getData() {
return new ArrayList<>(data);
}
公共类{
私有最终列表数据=新的ArrayList();
公共void追加(int值){
数据增值;
}
public void getData(){
返回新的ArrayList(数据);
}
例如。不清楚你的意思。你能举例说明你想写什么吗?
for(int i=0;i>3;i++)
我想你的意思是I<3
你可以将值放入循环数组中并通过setter,或者只是创建另一个方法将单个值推送到你的私有财产中。不过,这个问题很好;-)@GhostCat谢谢:)希望这个问题也能帮助其他人:)谢谢你的回答和解释,我想要的是一个允许作为一个整体传递数组的界面。我将更新我的问题。谢谢你的回答并给我其他选项!:)真的很好;-),喜欢它…你也“很好”省去了一个微妙的细节,让我给出另一个答案;-)x2
public class Whatever {
private final List<Integer> data = new ArrayList<>();
public void append(int value) {
data.add(value);
}
public void getData() {
return new ArrayList<>(data);
}