我找到了解决此问题的方法,但无法弄清楚它是如何工作的。有人可以解释一下吗?
public static void main(String[] args) {
Object[] numbers = new Object[100];
Arrays.fill(numbers, new Object() {
private int count = 0;
@Override
public String toString() {
return Integer.toString(++count);
}
});
System.out.println(Arrays.toString(numbers));
}
[我没有直接评论该答案,因为我没有足够的声誉分。]
为了准确起见,请Arrays.fill()
在其自己的实现中使用循环。通常,Arrays.fill
通过将第二个参数分配给第一个参数的每个元素(您的数组)来填充数组。
您的示例Array
的类型Object
为,长度为100个元素。在其中Arrays.fill(...)
生成一个类型为Object的所谓匿名类,该类toString
通过增加counter(int count
)的值并在其后进行打印来重新实现-method 。
现在,通过调用执行数组内部每个元素Arrays.toString
的toString()
方法(此处与匿名类的实例相同),从而打印出1-100之间的数字
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句