gpt4 book ai didi

java - 如何将泛型传递到此方法中

转载 作者:行者123 更新时间:2023-11-30 04:57:18 25 4
gpt4 key购买 nike

我的方法看起来像

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/

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