MyArryBean是一个自定义类,
它的名字“MyArryBean”存在于一个字符串中:
String a=“MyArryBean”,
如何用代码实例化这个类啊! 有人说用:反射 、classforname 、JINI 、JDBC加载驱动好像可以参考

解决方案 »

  1.   

    比如:import java.lang.reflect.*;public class Test {
    public static void main(String args[]) {
    try {
    Class stringClass = Class.forName("java.lang.String");
    Constructor cstr = stringClass.getConstructor(new Class[]{stringClass});
    String s = (String)cstr.newInstance(new Object[]{"MyArryBean"});
    System.out.println(s);
    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }
      

  2.   

    但这个过程实际上是相当于:
    String a = new String("MyArryBean");
    而不是相当于:
    String a = "MyArryBean";String类毕竟比较特殊,String a = "MyArryBean";的实际过程反倒不是那么好模拟。
      

  3.   

    to:steedhorse(晨星) 不知道我没有看明白你的代码还是我的意思没有表达清楚。情况是这样子的。一些类的名字被存入数据库。要跟据情况来实例化这个数据库里面存放的一个或多个类,类的名字是从数据库里面得到的,所以无法手写代码“MyArryBean”到程序代码段中去。
    这样该如何实现呢?
      

  4.   

    不知道楼主看没看过spring技术.在spring技术中可以实现楼主的要求.
      

  5.   

    比如有一命令:
    call.registerTypeMapping(MyArryBean.class, qn,
                new BeanSerializerFactory(MyArryBean.class, qn),
                new BeanDeserializerFactory(MyArryBean.class, qn));...
    MyArryBean CmyAB=new MyArryBean();
    CmyAB = (MyArryBean) call.invoke(new Object[] { "这是调用服务器的类!web" });而“MyArryBean”我不能够手写上去,只能通过调用数据库里面的字段来取得,这应该如何处理呢?
      

  6.   

    Class.forName("com.jkzqw.className").newInstance();