0

次の方法でグアバの Null-Objects を使用しようとしています。

private void display(Optional<String> message) {
  ...
}

メソッド display(..) を呼び出しているメソッドは次のようになります。

if(...) {
  display(Optional.of("hello");
} else {
  display(Optional.absent());
}

現在、次のコンパイラ エラーが発生しています。

The method display(Optional<String>) in the type TokenServlet is not
applicable for the arguments (Optional<Object>)

私が見つけた唯一のコンパイルの回避策は、使用することです

Optional.fromNullable((String) null)

それ以外の

Optional.absent()

非ジェネリックなコンテキストで Optionals を使用している場合、他に可能性はありませんか?

4

2 に答える 2

3

あなたはこれを行うことができます:

display(Optional.<String> absent());
于 2014-09-24T13:48:29.657 に答える
0

メソッドに無効なパラメーターを渡そうとしていると思います。メソッドでラップする必要があります。それは問題を解決します。

private void display(String message) {
 Optional<String> optionalMessage=Optional.fromNullable(message);
  ...
}
于 2014-09-24T13:43:10.440 に答える