私はjava.util.concurrent.AbstractExecutorService
から派生したクラスを持っています。私のクラスはshutdownNow()
を上書きします。すべてがコンパイルされ、正常に動作します。@NonNullByDefault戻り値の型がExecutorService.shutdownNow()から返された 'List <Runnable>'と互換性がありません(null制約が一致しません)
私はクラスに[email protected]
を追加しました。 shutdownNow()
に1つのエラー以外のすべてのエラーと警告を修正することができました。エラーメッセージは、戻り値の型は、()
クイックフィックスは、任意のヘルプはありません(NULL制約不一致)ExecutorService.shutdownNowから返された「リスト」と互換性がありません
...と言います。
ここに問題のコードがあります。
@NonNullByDefault // Adding this causes an error public abstract class ShutdownThreadPool extends AbstractExecutorService implements ExecutorService { @Override public List<Runnable> shutdownNow() // The error is on this line { return(Collections.emptyList()); } }
注:Collections.emptyList()は問題ではありません。これは、同じエラーメッセージを再現する実際のコードを単純化したものです。
コードのイメージは次のとおりです。