相关疑难解决方法(0)

如何在Java 8中包含upcast对象可选?

在使用Optional对象时是否有一种有效的方法来执行向上转换.这是一个示例代码:

class A{}
class B extends A{}

B func(){
    //do something
    return new B();
}

Optional<B> func2(){
    //do something
    return Optional.of(new B());
}

main() {
    A a = func(); // Upcasting works fine
    B b = func(); // Upcasting works fine
    Optional<B> b = func2(); // 1. Works fine
    Optional<A> a = func2(); // 2. How to make this work ?
}
Run Code Online (Sandbox Code Playgroud)

(2.)给出错误.我可以通过创建另一个函数来解决它.

但是有一种有效的方法,所以func2()可以用于(1.)和(2.)?

java oop design-patterns optional java-8

7
推荐指数
3
解决办法
3372
查看次数

标签 统计

design-patterns ×1

java ×1

java-8 ×1

oop ×1

optional ×1