gpt4 book ai didi

Java8 : How to get the internal Type of java. util.Optional 类?

转载 作者:行者123 更新时间:2023-11-29 10:13:49 25 4
gpt4 key购买 nike

我有一个类型的对象:Optional<String>我想在运行时知道 Optional 的通用类型是什么- 意思是“字符串”。

我试过:

obj.getClass()

但这会返回 java.util.Optional

然后我试了,

obj.getParameterizedType();

但这不会返回它有 Class<> 对象。

有什么想法吗??

最佳答案

不存在类型为 Optional<String> 的对象.类型删除意味着只是 Optional在执行时。如果您有 Optional<String> 类型的字段或参数, 信息可以在执行时检索 - 但对象本身不知道。

基本上,Optional<> 没有什么特别的此处 - 它具有与使用 List<> 相同的所有限制...虽然它是最终版本,但您甚至不能使用 Guava 的 TypeToken 之类的任何解决方法。 .

参见 Java Generics FAQ on Type Erasure了解更多详情。

关于Java8 : How to get the internal Type of java. util.Optional 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com