不需要的通用参数

时间:2012-12-26 18:02:28

标签: java generics coding-style

假设需要使用特定的通用接口,但这种情况不需要使用其中一个通用参数。

假设我需要Callable<T>(必须从T方法返回call()),但在这种情况下我不需要返回结果,我只想将一些代码提交给ExecutorService以“做某事”

T类型的最佳选择是什么?

3 个答案:

答案 0 :(得分:7)

您可以使用特殊Void类型:

Callable<Void> callable = new Callable<Void>() {
    @Override
    public Void call() throws Exception {
        // do stuff
        return null;
    }
};

退出方法需要return语句。编译器接受的唯一值是null。非常方便!

答案 1 :(得分:0)

使用Void

30char30char30char,对不起,添加不多:P

答案 2 :(得分:0)

实际上,您还可以向Runnable提交ExecutorService,但该回复没有返回类型。