Java 如何举办课程<;T>;类中的引用?

Java 如何举办课程<;T>;类中的引用?,java,generics,Java,Generics,就泛型而言,我是个不折不扣的人。另外,java的混淆编译错误“无法从java.lang.Class转换为java.lang.Class”也没有帮助 这是我的班级 public class XMLParser<T> { private static XMLParser reference=null; String rootNode; String requiredNode; List<String> members; Class<T> targetClass;

就泛型而言,我是个不折不扣的人。另外,java的混淆编译错误“无法从java.lang.Class转换为java.lang.Class”也没有帮助

这是我的班级

public class XMLParser<T> {

private static XMLParser reference=null;
String rootNode;
String requiredNode;
List<String> members;
Class<T> targetClass;


private XMLParser()
{

}

public static XMLParser getInstance()
{
    if(reference==null)
        reference= new XMLParser();
    return reference;
}


public <T> T  parse(Class<T> target, String inputString, String rootNode, String requiredNode,
        List<String> members) {

    this.rootNode=rootNode;
    this.requiredNode=requiredNode;
    this.members=members;
    this.targetClass=target; //compile error
公共类XMLParser{
私有静态XMLParser引用=null;
字符串根节点;
需要字符串的节点;
成员名单;
类targetClass;
私有XMLParser()
{
}
公共静态XMLParser getInstance()
{
if(reference==null)
reference=newxmlparser();
返回参考;
}
公共T解析(类目标、字符串inputString、字符串rootNode、字符串requiredNode、,
(名单成员){
this.rootNode=rootNode;
this.requiredNode=requiredNode;
这.成员=成员;
this.targetClass=target;//编译错误
我不明白这里发生了什么。我想保留对输入“target”的全局引用,因为这个“target”将在类中的许多方法中使用


我该怎么办?

去掉
parse
方法中声明的类型变量

public <T> T  parse(Class<T> target, String inputString, String rootNode, String requiredNode,
     // ^ get rid of this
public T parse(类目标、字符串inputString、字符串rootNode、字符串requiredNode、,
//^扔掉这个

位声明了一个新的类型变量,该变量隐藏(具有相同的名称)在类名表达式中声明的类型变量。此处的类型变量
T
与在类级别声明的类型变量不相关。

去掉在
parse
方法中声明的类型变量

public <T> T  parse(Class<T> target, String inputString, String rootNode, String requiredNode,
     // ^ get rid of this
public T parse(类目标、字符串inputString、字符串rootNode、字符串requiredNode、,
//^扔掉这个

位声明了一个新的类型变量,该变量隐藏(具有相同的名称)在类名表达式中声明的类型变量。此处的类型变量
T
与在类级别声明的类型变量不相关。

去掉在
parse
方法中声明的类型变量

public <T> T  parse(Class<T> target, String inputString, String rootNode, String requiredNode,
     // ^ get rid of this
public T parse(类目标、字符串inputString、字符串rootNode、字符串requiredNode、,
//^扔掉这个

位声明了一个新的类型变量,该变量隐藏(具有相同的名称)在类名表达式中声明的类型变量。此处的类型变量
T
与在类级别声明的类型变量不相关。

去掉在
parse
方法中声明的类型变量

public <T> T  parse(Class<T> target, String inputString, String rootNode, String requiredNode,
     // ^ get rid of this
public T parse(类目标、字符串inputString、字符串rootNode、字符串requiredNode、,
//^扔掉这个

位声明了一个新的类型变量,该变量隐藏(具有相同的名称)类名表达式中声明的类型变量。此处的类型变量
T
与在类级别声明的类型变量不相关。

谢谢,先生,就是这样。现在还不能选择这个作为正确答案。十分钟后它会说。谢谢,先生,就是这样。现在还不能选择这个作为正确答案。十分钟后它会说。Thanks长官,就是这样。现在还不能选择这个作为正确答案。十分钟后它说。谢谢长官,就是这样。现在还不能选择这个作为正确答案。十分钟后它说。