У меня есть Manufacture
класс:
public class Manufacture {
private String businessId;
//Getter & Setter
...
}
Затем у меня есть enum
с именем Product
, каждый элемент переопределяет свой абстрактный метод, который возвращает Manufacture
экземпляр:
public enum Product {
FOO {
@Override
Manufacture getManufacture(){
return // a instance of Manufacture
}
}
BAR {
@Override
Manufacture getManufacture(){
return // another instance of Manufacture
}
}
abstract Manufacture getManufacture();
}
Я получаю Set<Manufacture>
изготовления из перечисления Product
по:
Set<Manufacture> manufactureSet = Stream.of(Product.values()).map(Product::getManufacture).collect(Collectors.toSet())
Но если я хочу получить Set<String>
из businessId
строки из статической функциивнутри Product
, как это сделать?
Я думал:
Set<String> businessIdSet = Stream.of(Product.values()).map(Product::getManufacture::getBusinessId).collect(Collectors.toSet())
Но ссылка на метод в steam .map(...)
не может быть прикована цепью.