在我的主班上,我有:List<Person> allPeople = new ArrayList<>();

然后在类中,我有一个方法,该方法返回所有Id人的String数组(Person具有访问器方法getId())。

将列表转换为仅具有Ids作为字符串的数组的最漂亮方法是什么?

这是我目前的解决方案:

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;
}


上面的作品,但是有一种“更好”的方法吗?

最佳答案

public String[] getAllId() {
    return allPeople.stream().map(Person::getId).toArray(String[]::new);
}

关于java - 将对象列表转换为字符串数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27693236/

10-08 23:55