gpt4 book ai didi

java - 获取通用数组类

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:44 27 4
gpt4 key购买 nike

我有一个函数:

add(Collection<?> many)

我这样调用它:

Collection<NewClass> awa = new ArrayList<NewClass>();
add(awa)

我如何获得 <?>类型?在那个函数里?

many.getClass()给出 ArrayList .

为什么我需要这个?尝试创建一个通用的 DAO 方法来添加 < ? > 的集合.

编辑:

这样试过:

public static void add(Collection<?> many)  {
Type typeArg = ((ParameterizedType)Testing.class.getGenericSuperclass()).getActualTypeArguments()[0];
System.out.println(typeArg);
}

Collection<NewClass> awa = new ArrayList<NewClass>();


add(awa);

出现错误:

Exception in thread "main" java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType

最佳答案

many.getClass() 给出 ArrayList

当然,这听起来不错。

如果您改用 many.get(0).getClass() 会怎样?如果可以的话,这里我们询问的是元素,而不是容器。我是 C#er,所以这可能不是 100% 正确的方法,但这是我在 C# 中采用的方法。

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

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