java - 在类数组中分配相同的字段

标签 java arrays

我有一个名为 Book 的类的数组,其中包含三个字段:int pYear、String name 和 String 作者。现在我想初始化数组中的所有 pYear。有没有比以下更快的方法:

bList[0].pYear=1996;
bList[1].pYear=1998;
bList[2].pYear=2000;

等等?

最佳答案

如果“更快”意味着输入更少的代码,您可以执行以下操作:

int[] years = {1996,1998,2000,...};
for (int i = 0; i < years.length && i < bList.length; i++)
    bList[i].pYear = years[i];

当然,最好将 pYear 设为私有(private)并使用 setter 方法而不是直接赋值。

在 java 8 中,您可以将其减少为两行:

int[] years = {1996,1998,2000,...};
IntStream.range(0,bList.length).forEach(i->bList[i].pYear = years[i]);

关于java - 在类数组中分配相同的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34379241/

相关文章:

java - bindService 上的 NullPointerException getPackageName()

java - Eclipse java 自动方法查找器

ios - 数组中的 Swift 不同类型的泛型

ruby-on-rails - 将 ruby​​ 数组转换为整齐的列字符串?

java - Spring @Component 未正确读取 .properties 字段

java - 碰撞检测: rounded object

java - 根据他们的名字对备选方案进行排名

c++ - Arduino - 从实例创建数组并赋值 [C++]

python - 空字典 Python 中的 KeyError

JavaScript 第二个循环不会改变 CSS