加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java 8 – 三元运算符返回函数不编译

发布时间:2020-12-14 05:42:40 所属栏目:Java 来源:网络整理
导读:有谁能告诉我为什么不编译? public class TestClass { private boolean doThis = false; protected void fooThat() {} protected void fooThis() {} public void execute() { (doThis ? this::fooThis : this::fooThat).run(); }} 解决方法 你想要的是什么
有谁能告诉我为什么不编译?
public class TestClass {

    private boolean doThis = false;

    protected void fooThat() {}

    protected void fooThis() {}

    public void execute() {
        (doThis ? this::fooThis : this::fooThat).run();
    }
}

解决方法

你想要的是什么
(doThis ? this::fooThis : (Runnable) (this::fooThat)).run();

Java不能从方法名称推断你期望的类型?:返回.

我不知道这比谁好

if (doThis)
    fooThis();
else
    fooThat();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读