我有一个名为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]);