java-使用for循环将值直接传递给setter方法
作者:互联网
这是我的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();
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循环传递此值?我也想知道如何整体传递数组吗?
解决方法:
不,您不能将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();
}
然后可以这样使用(根据您问题中的for循环):
sample.setTest(getNumbers(0, 3, 1));
或者,对于更简单的数组(因此,从startNumber到endNumber的整数范围以1为增量),您可以执行以下操作:
sample.setTest(IntStream.rangeClosed(1, 10).toArray());
标签:for-loop,getter-setter,arrays,java 来源: https://codeday.me/bug/20191111/2018516.html