Java 如何使用矢量创建对象<;类别>;?

Java 如何使用矢量创建对象<;类别>;?,java,Java,我有一个 Vector<Class> v = new Vector<Class>(); a.addElement(HashMap.class); .... Vector v=new Vector(); a、 addElement(HashMap.class); .... 如何从向量的I元素中创建对象?你的意思是 Class clazz = vector.get(i); Object object = clazz.newInstance(); 顺便说一句:我不会使用V

我有一个

Vector<Class> v = new Vector<Class>();
a.addElement(HashMap.class);
....
Vector v=new Vector();
a、 addElement(HashMap.class);
....
如何从向量的I元素中创建对象?

你的意思是

Class clazz = vector.get(i);
Object object = clazz.newInstance();
顺便说一句:我不会使用Vector,除非你必须这样做,因为它是一个遗留类,在Java1.2(1998)中被List替换了。

你的意思是

Class clazz = vector.get(i);
Object object = clazz.newInstance();
顺便说一句:我不会使用Vector,除非您必须使用,因为它是Java 1.2(1998)中用List替换的遗留类。

您可以使用:

v.get(i).newInstance()
您可以使用:


v.get(i).newInstance()

如果没有默认构造函数,可以使用:

Object o = vector.get(i).getConstructor(parameterClazzes).newInstance(parameters);
否则

它接受默认构造函数并创建对象


例如:

public static void main(String args[]) throws Exception {

    Integer i = Integer.class.getConstructor(Integer.TYPE).newInstance(17);
    System.out.println(i);

    String s = String.class.getConstructor(String.class).newInstance("Hello");
    System.out.println(s);
}

如果没有默认构造函数,则可以使用:

Object o = vector.get(i).getConstructor(parameterClazzes).newInstance(parameters);
否则

它接受默认构造函数并创建对象


例如:

public static void main(String args[]) throws Exception {

    Integer i = Integer.class.getConstructor(Integer.TYPE).newInstance(17);
    System.out.println(i);

    String s = String.class.getConstructor(String.class).newInstance("Hello");
    System.out.println(s);
}

也许这会帮助你理解向量类

class Person{
private String name;
private String lastname;
public void setName(String name){this.name = name;}
public void setLastname(String lastName){this.lastname = lastname;}
public String getName(){return name;}
public String getLastname(){ return lastname;} 
}

Vector<Person> v = new Vector<Person>(10,2);
Person objPerson = new Person();

objPerson.setName("Carl");
objPerson.setLastname("Jhonson");

v.addElement(objPerson);

System.out.println("Name: "+v.elementAt(i).getName());
System.out.println("Lastname: "+v.elementAt(i).getLastname());
班级人员{
私有字符串名称;
私有字符串lastname;
public void setName(字符串名){this.name=name;}
public void setLastname(字符串lastName){this.lastName=lastName;}
公共字符串getName(){return name;}
公共字符串getLastname(){return lastname;}
}
向量v=新向量(10,2);
Person objPerson=新的Person();
objPerson.setName(“卡尔”);
objPerson.setLastname(“Jhonson”);
v、 增编(objPerson);
System.out.println(“名称:”+v.elementAt(i.getName());
System.out.println(“Lastname:+v.elementAt(i).getLastname());

也许这会帮助您理解vector类

class Person{
private String name;
private String lastname;
public void setName(String name){this.name = name;}
public void setLastname(String lastName){this.lastname = lastname;}
public String getName(){return name;}
public String getLastname(){ return lastname;} 
}

Vector<Person> v = new Vector<Person>(10,2);
Person objPerson = new Person();

objPerson.setName("Carl");
objPerson.setLastname("Jhonson");

v.addElement(objPerson);

System.out.println("Name: "+v.elementAt(i).getName());
System.out.println("Lastname: "+v.elementAt(i).getLastname());
班级人员{
私有字符串名称;
私有字符串lastname;
public void setName(字符串名){this.name=name;}
public void setLastname(字符串lastName){this.lastName=lastName;}
公共字符串getName(){return name;}
公共字符串getLastname(){return lastname;}
}
向量v=新向量(10,2);
Person objPerson=新的Person();
objPerson.setName(“卡尔”);
objPerson.setLastname(“Jhonson”);
v、 增编(objPerson);
System.out.println(“名称:”+v.elementAt(i.getName());
System.out.println(“Lastname:+v.elementAt(i).getLastname());