这是一个问题。 我有一个类,它有一个子类类型的集合。
public class classOne{
private Collection<classTwo> ...;
}
现在我想将第二个元素的值存储为对象
private ComboBoxViewerCellEditor cellEditor = ComboBoxViewerCellEditor((Composite) getViewer().getControl(),SWT.READ_ONLY);
classOne one = (classOne) element;
Collection<classTwo> contactList = one.getClassTwo();
celleditor.setInput(contactList.getName());
这样的事情,但最后一行代码不正确,因为它不起作用。
总结一下如何从存储为对象列表的所有二级实例中获取一个getter
答案 0 :(得分:1)
你需要一个循环:
List<String> names = new ArrayList<>();
for (ClassTwo c2 : contactList) {
names.add(c2.getName());
}
或者,在Java 8中:
List<String> names = contactList.stream()
.map(ClassTwo::getName)
.collect(Collectors.toList());