英文:
How can i use optional class by using string
问题
我正在学习Java 8。我如何将Optional类用作字符串?Eclipse显示要移除参数,因为Optional不是泛型。
String s = "Hi I am karthik";
Optional<String> checkNull = Optional.ofNullable(s);
在Eclipse中显示以下错误:
Optional类型不是泛型;不能使用参数<String>进行参数化。
英文:
I am learning java 8. How can i use in optional class as string? eclipse is saying to remove arguments as optional is not generic.
String s = "Hi I am karthik";
Optional<String> checkNull = Optional.ofNullable(s);
below error is showing in eclipse
> The type Optional is not generic; it cannot be parameterized with arguments <String>
答案1
得分: 2
你在评论中提到你的类名叫做 Optional
。这让编译器感到困惑,因为这个类型名称现在是模糊的,所以在这个编译单元(即这个 Java 文件)中,每当你引用 Optional
,编译器会认为你指的是自己的类,而不是 java.util.Optional
。
解决方案:重新命名你的类,以及对应的 Java 文件,换成其他任何名称。
英文:
You stated in the comments that your class is called Optional
. That is confusing the compiler because that type name is now ambiguous, so within this compilation unit (i. e. this Java file) every time you refer to Optional
, the compiler will think you are referring to your own class, rather than java.util.Optional
.
Solution: Rename your class, and the corresponding Java file, to anything else.
答案2
得分: 0
尝试以下:
java.util.Optional<String> checkNull = java.util.Optional.ofNullable("Hi I am karthik");
确保您的 Eclipse 中已经配置了 Java 8 的类路径。因此,请检查您的 IDE 配置。
英文:
Try following:
java.util.Optional<String> checkNull = java.util.Optional.ofNullable("Hi I am karthik");
Make sure your eclipse has java 8 in classpath. So, check your IDE configuration.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论