这是问题。
我有一个具有子类类型集合的类。
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());
像这样,但最后一行代码不正确,因为它不起作用。
因此,总结一下,如何从存储为对象列表的第二类的所有实例中获取吸气剂
最佳答案
您需要一个循环:
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());