[OK]をので、私は署名(Class<? extends Throwable>... exceptions)
でメソッドを呼び出していると私はmainメソッドにここに警告「File.javaは未チェックまたは安全でない操作を使用しています」取得:なぜvarargs(Class <?extends Throwable> ... t)は "未チェックまたは安全でない"操作ですか?
public class VarargsFun {
public void onException(Class<? extends Throwable>... exceptions) { }
public static void main(String[] args) {
new VarargsFun().onException(IllegalArgumentException.class);
}
}
コンパイラができないようにする必要がありIllegalArgumentException
は実際にはRuntimeException
、Exception
、Throwable
に拡張されていますか?
この警告を取り除くために私のコードを適切に修正する必要がありますか?
私は本当に.class
を使用することがよりよいようだ...私の例外をインスタンス化するような気がしない(どちらか@SuppressWarnings
を使用したくない!)
のjavaに任意のヒント7.感謝を使用しています。
警告は「thenThrow」から来て、「when」ではないと確信していますか? 'mockQuery'はどのように宣言されていますか?それはジェネリッククラスのモックですか? –
私はコードをテスト可能な例に変更しました。 – vikingsteve