我有一个名为Book的类的数组,具有三个字段,即int pYear,字符串名称和字符串作者。现在,我想初始化数组中的所有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设为私有并使用setter方法而不是直接分配。

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

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

08-16 03:50