2016-03-18 27 views
-2

我有myObjectsJava的8个流得到嵌入对象

List<MyObject> myObjects 

名单,我将所有OtherObject的

class MyObject { 

    private OtherObject otherObject; 
} 

我简单的方法是:

myObjects.stream().?? 

,但我做的不知道如何获得嵌入对象

+0

不知道你试图做什么...但是地图( C-> c.getOtherObject());为您提供一个嵌入式对象流。因为你需要这个嵌入对象的getter方法。那是你想要做的吗? – Exagon

回答

1

你在想的是这样的:myObjects.stream()

import java.util.List; 
import java.util.ArrayList; 
public class HelloWorld{ 

    public static void main(String []args){ 
     List<MyObject> myObjects = new ArrayList<>(); 
     HelloWorld hw = new HelloWorld(); 
     myObjects.add(hw.new MyObject("Try")); 
     myObjects.add(hw.new MyObject("This")); 
     myObjects.stream() 
     .map(o -> o.getOtherObject().toUpperCase()) 
     .forEach(System.out::println); 

    } 

    class MyObject { 
     private String otherObject; 
     public MyObject(String s) { 
      this.otherObject = s; 
     } 
     public String getOtherObject() { 
      return otherObject; 
     } 
    } 

} 
0

添加消气剂MyObject和使用map

class MyObject { 

    private OtherObject otherObject; 

    public OtherObject getOtherObject() { 
     return otherObject; 
    } 
} 

... 
myObjects.stream().map(MyObject::getOtherObject).forEach(System.out::println)