从对象数组中获取属性的值

Mar*_*ark 4 java java-8 java-stream

我有一个对象列表:

[class RetailerItemVariant {
    sku: 008884303996
    isAvailable: true
    price: 70.0
}, class RetailerItemVariant {
    sku: 008884304030
    isAvailable: true
    price: 40.0
},
...
Run Code Online (Sandbox Code Playgroud)

在Java 8中提取SKU数组的最佳方法是什么?例如:

["008884303996", "008884304030", ...]
Run Code Online (Sandbox Code Playgroud)

我是Java新手,这在使用map()函数的Javascript中非常容易,但是我无法在Java中找到一种类似的简单方法...

vah*_*det 6

由于您使用的是Java 8,因此stream api可以在此处为您提供帮助:

List<String> skus = itemList.stream()
          .map(Item::getSku)
          .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)