【发布时间】:2020-09-22 02:52:44
【问题描述】:
有没有一种方法可以将带参数的类类型传递给接受Class<T> 的方法?
假设我有这个方法:
public T getProperty(类类型)
给定方法getProperty,它返回我们传递的任何类型,有没有办法我可以通过参数传递像Map 这样的类?可以这样说:
getProperty(Map
.class)
不幸的是,上面的代码 sn-p 给了我编译错误。虽然使用Map.class 会起作用,但我想消除通用警告并使用强类型参数。
【问题讨论】:
-
如果没有产生警告的强制转换,则无法完成此操作,尽管您可以抑制警告。 (您可以重新设计 getProperty,但这在上下文中听起来不太合理。)
-
预期的答案。我只是希望有一种方法,但看起来这是 Java 的限制之一。谢谢大佬!