我经常使用callables,而且我发现了一个令我恼火的问题:
让我们说,要运行函数foo(),首先需要进行几项检查。
你应该吗? 1.将支票作为Callable:
的一部分插入class A implements Callable<Long> {
...
public Long call() {
check1();
check2();
return (run());
}
class A implements Callable {
...
public Long call() {
ALogic aLogic = new ALogic();
return (aLogic.run());
}
您认为专业人士和骗子是什么?你通常喜欢什么?
答案 0 :(得分:1)
您觉得哪个更简单或更清晰? 我建议你这样做。
答案 1 :(得分:1)
我在实现回调[Java关键字]接口时的一般建议是专注于使[非Java关键字]接口适合于被调用类型。在匿名内部类(或其他)中通常不应该那么多,但不仅仅是转发呼叫。
此外,拥有一个构造的对象并且只有一个被调用的方法通常是不好的。使它成为一个静态方法(也许可以通过私有构造函数创建一个对象并运行它)。
答案 2 :(得分:0)
我通常更喜欢简单地将回调转发给封闭类上的私有方法。这消除了仅仅指向匿名内部类的“this”引用,这是非常无用的。