我有一个数组CustomClass[] classes
。我想要一种简单的方法将其添加到List<String>
,为此,我必须调用方法CustomClass#getName()
,该方法返回一个String
。
应该是这样的:
for (CustomClass class : classes) {
list.add(class.getName());
}
有单行方法吗?
答案 0 :(得分:8)
如何使用Arrays.stream()
:
List<String> list = Arrays.stream(numbers)
.map(String::valueOf)
.collect(Collectors.toList());
将流式传输Array
,将其转换为String
,然后将其收集到List<String>
或者现在您已经对问题进行了编辑以包括一个班级:
List<String> list = Arrays.stream(classes)
.map(Foo::getName)
.collect(Collectors.toList());
假设您的课程名为Foo
,并且具有getName
方法
答案 1 :(得分:2)
对于修改后的问题,答案基本相同:
Arrays.stream(classes).map(clz -> clz.getName()).collect(Collectors.toList());