可运行的不在callable内部不运行



在以下代码中我创建一个可召唤的可呼叫,该可调用在call() - 方法中创建可运行的可运行。我的问题是运行() - 无法达到方法(代码未能执行)。您知道为什么以及如何解决吗?

public static void main(String[] args) {
    Callable<Object> c = new Callable<Object>() {
        @Override
        public Object call() throws Exception {
            Runnable r = new Runnable() {
                @Override
                public void run() {
                    System.out.println("hi");
                }
            };
            return null;
        }
    };
    try {
        c.call();
    } catch (Exception e) {
    }
}
Callable<Object> c = new Callable<Object>() {
            @Override
            public Object call() throws Exception {
                Runnable r = new Runnable() {
                    @Override
                    public void run() {
                        System.out.println("hi");
                    }
                };
                r.run();
                return null;
            }
        };
        try {
            c.call();
        } catch (Exception e) {
        }

你知道为什么...

已经由其他人解释了:您已经有创建Runnable实例的书面代码,但是您的代码在创建它后对实例没有任何作用。您的代码不会直接调用run()方法,您的代码也不会将实例移交给任何可以调用该方法的对象。

...以及如何解决该问题?

这取决于您想要代码到 do 的内容。如果您想要的话

看起来您正在尝试学习一些东西,但是您还没有告诉我们您想学习的东西。

相关内容

  • 没有找到相关文章

最新更新