gpt4 book ai didi

java - 获取 java.util.Map 参数的通用类型

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:34 24 4
gpt4 key购买 nike

public Object[] convertTo(Map source, Object[] destination) {
...
}

是否有可能通过反射找出我的 Map 参数的泛型类型(键/值)?

最佳答案

我知道这个问题很老,但最好的答案是错误的。
您可以通过反射轻松获得通用类型。这里有一个例子:

private Map<String, Integer> genericTestMap = new HashMap<String, Integer>();

public static void main(String[] args) {

try {

Field testMap = Test.class.getDeclaredField("genericTestMap");
testMap.setAccessible(true);

ParameterizedType type = (ParameterizedType) testMap.getGenericType();

Type key = type.getActualTypeArguments()[0];

System.out.println("Key: " + key);

Type value = type.getActualTypeArguments()[1];

System.out.println("Value: " + value);
} catch (Exception e) {
e.printStackTrace();
}
}

这将为您提供输出:
键:class java.lang.String
值:类 java.lang.Integer

关于java - 获取 java.util.Map 参数的通用类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148798/

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