6

ユニットテストを作成しました:

new Callable() {
@Override
public Object call() throws
         .....

Eclipseで警告を受け取りました:

Callable is a raw type. References to generic type Callable<V> 
should be parameterized

次のようなコードを書く必要があります:

new Callable<Object>()  

警告を排除するためかどうか?これはjunitテストにすぎないようで、コードを追加する意味はありません...ありがとう。

4

3 に答える 3

8

はい、生の型を避け、ジェネリック型を使用することをお勧めします。を使用Callable<Object>すると、Callableがあらゆる種類のオブジェクトを返すことを意図していることが明確になります。使用Callableしてもそれは明確ではありません。

于 2012-07-02T10:00:39.850 に答える
7

操作が値を返さない場合(または返す意味のあるものがない場合)。java.lang.Voidタイプパラメータとして使用する必要があります。

new Callable<Void>() {

  public Void call() throws Exception {
    // do work
    return null; // <-- This statement is required.
  }

}
于 2012-07-02T10:05:16.133 に答える
3

RunnableはCallable<Void>の良い代替品です。

于 2012-07-02T21:33:04.983 に答える