这是问题。
我有一个具有子类类型集合的类。

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());

10-02 06:44