作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的方法看起来像
doSomething( Class<T> valueType)
我称传递值为
Map.class, Long.class
作为上述方法的参数。如果我想使用通用的。我应该如何将值传递给上面的方法? doSomething(Class<Map>);
不起作用
最佳答案
Map.class
返回 Class<Map>
类型的对象, Long.class
返回 Class<Long>
类型的对象.
所以通过Map.class
你的T需要我 map 。如果您希望您的 T 是通用的,请说 ArrayList<String>
,那么这是不可能的。原因是Java中的泛型使用类型删除,这意味着泛型类型仅在编译时存在,但在运行时被删除。因此不存在像 ArrayList<String>.class
这样的东西.
从这个意义上来说,Java 泛型与 C# 泛型有很大不同。
关于java - 如何将泛型传递到此方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8116277/
我是一名优秀的程序员,十分优秀!