【问题标题】:Get Object type of class for ArrayList获取 ArrayList 的类的对象类型
【发布时间】:2018-02-24 18:35:14
【问题描述】:

所以,我尝试将给定类的对象类型解析为 ArrayList 示例:

public class Util{
    public static void makeArray(String tag, Class<?> forClass) {
        ArrayList<?> list = new ArrayList();
    }
}

如何将&lt;?&gt; 替换为forClass 对象类型? 所以当我调用时回到 main 方法

Util.makeArray("names", String.class);

它会创建 ArrayList&lt;String&gt; 如果我说

Util.makeArray("ages", int.class);

它会将其解析为ArrayList&lt;Integer&gt;

如果它甚至没有以这种方式完成,请展示如何。

【问题讨论】:

    标签: java class reflection


    【解决方案1】:

    您将使用方法类型参数。

    public static <T> void makeArray(String tag, Class<T> forClass) {
        ArrayList<T> list = new ArrayList<>();
    }
    

    这可以使用Util.&lt;String&gt;makeArray("names", String.class) 调用,或者您可以通过省略&lt;String&gt; 让编译器推断T

    【讨论】:

      猜你喜欢
      • 2011-07-10
      • 2022-06-26
      • 2015-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      相关资源
      最近更新 更多