为什么将泛型的类强制转换为Class 不安全吗?

为什么将泛型的类强制转换为Class 不安全吗?,第1张

为什么将泛型的类强制转换为Class 不安全吗?

SLaks的答案指出

object.getClass()
衰减到
Class<? extends Object>
,以解释编译错误。但它 并不安全
投来
Class<T>

getClass
“返回运行时类”被调用的对象。例如,如果我们内部
MethodPointer<Number>
,则
object

是-A
Number
,但其运行时类型可能
Integer
Double
等等。这告诉我们,铸造
object.getClass()
Class<T>
是不是安全的,因为
Class<Integer>
Class<Number>
是不同的对象,代表不同阶级-
这似乎非常相关的一个区别正确性的尝试。

那么解决方案是什么?好吧,不要投。坚持

Class<T>
呼叫者那里接一个。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5430402.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存