可选 ifPresent Return 另一种类型
Optional ifPresent Return another type
和java 8个可选,
有没有办法写这行代码:
Bar bar = fooOpt.isPresent() ? new Bar(fooOpt.get().getX()) : null;
类似于:
Bar bar = fooOpt.ifPresent(f -> new Bar(f.getX()), null)
也许您正在寻找:
Optional<Foo> fooOpt = ...
Bar bar = fooOpt.map(foo -> new Bar(foo.getX()))
.orElse(null);
鉴于:
public class Foo {
Object getX() {
...
}
}
public class Bar {
public Bar(Object x) {
...
}
}
和java 8个可选, 有没有办法写这行代码:
Bar bar = fooOpt.isPresent() ? new Bar(fooOpt.get().getX()) : null;
类似于:
Bar bar = fooOpt.ifPresent(f -> new Bar(f.getX()), null)
也许您正在寻找:
Optional<Foo> fooOpt = ...
Bar bar = fooOpt.map(foo -> new Bar(foo.getX()))
.orElse(null);
鉴于:
public class Foo {
Object getX() {
...
}
}
public class Bar {
public Bar(Object x) {
...
}
}