我正在尝试创建一个接受类对象的函数,然后该函数将使用该对象来检索它的类并将其用作xml解析的模型。该函数如下所示:
myClass myClassObject=new myClass();
List aList = parseXMLtoList(stringBuffer.toString(),myClassObject);
private List parseXMLtoList(String xmlString,Object modelClassObject) {
List<modelClassObject.getClass()> xmlList = new ArrayList(); //modelClassObject cannot be resolved to a type
...
但是当我尝试动态地使用反射到给定的类时,它会给我这个错误:modelClassObject cannot be resolved to a type
怎么能实现这个目标?请帮忙。
答案 0 :(得分:0)
不要以为你可以实施它。作为其他此类东西的集合类型仅用于编译时。所以只需使用List。
答案 1 :(得分:0)
你必须使用这样的泛型:
MyClass myClassObject= new MyClass();
List<MyClass> aList = parseXMLtoList("<some_xml/>", myClassObject);
private static <T> List<T> parseXMLtoList(String xmlString, T modelClassObject) {
List<T> xmlList = new ArrayList<T>();
您可以通过在通用定义中添加它来限制可以使用的类型:
private static <T extends MyClass>
有关泛型的更多信息:https://docs.oracle.com/javase/tutorial/java/generics/