我尝试使用番石榴中的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,是否真的没有其他可能性?
答案 0 :(得分:3)
你可以这样做:
display(Optional.<String> absent());
答案 1 :(得分:0)
我认为您尝试将无效参数传递给方法。你必须将它包装在方法中。它将解决问题。
private void display(String message) {
Optional<String> optionalMessage=Optional.fromNullable(message);
...
}