Java 8 Java8流获取嵌入对象

Java 8 Java8流获取嵌入对象,java-8,Java 8,我有一张我的物品清单 List<MyObject> myObjects 我的简单方法是: myObjects.stream().?? 但我不知道如何获取嵌入对象向MyObject添加一个getter并使用map class MyObject { private OtherObject otherObject; public OtherObject getOtherObject() { return otherObject; } } .

我有一张我的物品清单

List<MyObject> myObjects
我的简单方法是:

myObjects.stream().??

但我不知道如何获取嵌入对象

MyObject
添加一个getter并使用
map

class MyObject {

    private OtherObject otherObject;

    public OtherObject getOtherObject() {
        return otherObject;
    }
}

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

你在想这样的事情吗:

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;
        }
    }

}
import java.util.List;
导入java.util.ArrayList;
公共类HelloWorld{
公共静态void main(字符串[]args){
List myObjects=new ArrayList();
HelloWorld hw=新HelloWorld();
myObjects.add(hw.newmyobject(“Try”);
myObjects.add(hw.newmyobject(“本”));
myObjects.stream()
.map(o->o.getOtherObject().toUpperCase())
.forEach(System.out::println);
}
类MyObject{
私有字符串对象;
公共MyObject(字符串s){
this.otherObject=s;
}
公共字符串getOtherObject(){
返回其他对象;
}
}
}

不知道你到底想做什么。。。但是myObjects.stream().map(c->c.getOtherObject());为您提供嵌入对象的流。当然,您需要一个用于此嵌入对象的getter方法。这就是你想做的吗?
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;
        }
    }

}