在我的主要课程中,我有:List<Person> allPeople = new ArrayList<>();
然后在类中我有一个方法,它返回所有Id
人的String数组(Person有一个访问方法getId()
)。
将列表转换为只有Ids为String的数组的最漂亮的方法是什么?
这是我目前的解决方案:
public String[] getAllId() {
Object[] allPeopleArray = allPeople.toArray();
String allId[] = new String[allPeople.size()];
for(int i=0; i<=allPeople.size()-1; i++){
allId[i] = ((Person)allPeopleArray [i]).getId();
}
return allId;
}
以上是有效的,但有没有“更好”的方法呢?
答案 0 :(得分:5)
public String[] getAllId() {
return allPeople.stream().map(Person::getId).toArray(String[]::new);
}