这是正常初始化一个HashMap对象:
HashMap HashMap1 = new java.util.HashMap();现在有一段String型字符串“java.util.HashMap()”,
需要定义一个 HashMap2 实现 HashMap1 的初始化功能,我用 HashMap HashMap2 = new + "java.util.HashMap()";   出错!!!!请问怎么解决???

解决方案 »

  1.   

    没看明白,
    不过new是java的一个关键字,后面肯定是要用这样的形式出现的new java.util.HashMap();
    new后面加一个+号,那肯有错误提示的
    楼主想要的是这样的形式?
    HashMap HashMap2 = "new java.util.HashMap()"; 
      

  2.   

    Class.forName( "new java.util.HashMap()").newInstance();
      

  3.   

    Class.forName( "java.util.HashMap()").newInstance();上一个错了,不用写new
      

  4.   

    不能加"()"
    这个试验过了
    HashMap hm=(HashMap) Class.forName("java.util.HashMap").newInstance();
      

  5.   


    引用 4 楼 bjsuo 的回复:Class.forName( "java.util.HashMap()").newInstance();上一个错了,不用写new楼主我对您的敬仰之情……
    [/Quote]
      

  6.   

    Class.forName( "java.util.HashMap ").newInstance(); 这个是Java反射机制,通过一个类名来动态获得一个对象,
    数据库驱动程序就是通过这种方式加载的
      

  7.   

    Class.forName( "java.util.HashMap ").newInstance();这个似乎不能初始化参数???
    假如有参数 请问 怎么办!!!!!
      

  8.   

    Class.forName( "java.util.HashMap ").newInstance();
      

  9.   

    通过getConstructor 来获得构造函数, 通过Consturctor对象里面的newInstance方法可以传参数
      

  10.   


    public static void main(String args[])
    {
    try {
    Class c= Class.forName("Person");
    Constructor con=c.getConstructor(String.class,Integer.TYPE);
    Person p=(Person) con.newInstance("XXX",23);
    int age=p.getAge();
    System.out.println(age);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }看看反射的api就能清楚了
      

  11.   

    你好,楼主!
    Map map = new HashMap();
      

  12.   

    Class.forName( "java.util.HashMap()").newInstance();