在Java中,如何从类型名称生成模板化对象?

时间:2017-07-10 00:33:48

标签: java templates reflection

我试图为名称以字符串形式传入的类创建一个SpecificDatumReader。我可以创建其中一个类,我可以获得这个类的Class,但这些都不能让我创建我的模板化对象。

    String[] classList = conf.getClasslist(eventname);
    decoders = new LinkedList<SpecificDatumReader>();
    for (String className : classList)
    {
        Class<?> eventclass = Class.forName(className);
        Object holder = eventclass.newInstance();
        decoders.add(new SpecificDatumReader<WhatGoesHere?>(eventclass));
    }

1 个答案:

答案 0 :(得分:0)

你不能。

  1. Java没有模板。您发布的语法的正确名称是Generics。
  2. 您要问的参数是编译时常量(类名),而不是运行时变量。