假设我有一个来自 MyClass
类的对象数组:
MyClass myClassArray[] = {
new MyClass(0, 1),
new MyClass(2, 3),
new MyClass(4, 5),
new MyClass(6, 7)
};
这里,MyClass
构造函数填充了两个字段,我们将其称为 field1
和 field2
。现在假设我要填充一个数组,其中包含 myClassArray
中每个对象的 field1
值(因此该数组将包含值 0, 2, 4 , 6
)。以下不起作用:
field1Array = myClassArray.getField1();
是否有一种快速的 1 行方法可以使用属于原始数组中对象的方法的返回码来填充新数组?显然,我可以使用 for
循环来完成此操作,但我宁愿利用该语言的功能(如果存在)。
最佳答案
除非您使用 Java 8+,否则您将需要循环,它会添加 lambda expressions到语言,在这种情况下,您可以将数组映射到新数组:
int[] field1Array = Arrays
.stream(myClassArray)
.mapToInt(MyClass::getField1)
.toArray();
这无疑是一个理论上的答案,因为 Java 8 要到明年第一季度才会正式发布。
关于java - 有没有一种快速方法可以从另一个数组创建返回码数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18057668/