如何动态的进行类型强制转换?比如给一个方法传递一个string,即类名,在方法内将某个对象类型转换为该string的类型比如 
castClassDymatic(Object temp,String className){
    //将temp类型转换为className对应的类名的类型,temp是className的父类
}

解决方案 »

  1.   

    temp=Class.forName(className).newInstance();
    className为包跟类名!
      

  2.   

    好像这种转化在java中是违法的,java中不让父类转化为子类,即使是强行转化,所在你这种即便实现了也是编译不能过.
      

  3.   

    temp是className的父类,但是可以转化为className的实例
    temp=Class.forName(className).newInstance();
    不知道是什么意思啊?比如 
    castClassDymatic(Object temp,String className){
        //将temp类型转换为className对应的类名的类型,temp是className的父类
    }
    我得意思是传递过来的String className的值为"ConcretClass"
    需要进行如下的操作  ConcretClass concretClass=(ConcretClass)temp;
    不知道怎么才能执行
      

  4.   

    temp是className的父类,为什么要将temp类型转换为className对应的类名的类型呢,你直接传个className对象的参数,java的UpCasting对象机制不就可以了嘛?不解!
      

  5.   

    给你明确回答,不行,除非java 支持 范型
      

  6.   

    将父类转换成子类.Date d = new Date();
    castClassDymatic(d, "Date);
      

  7.   

    这样:
    public static Object factory(String className)throws Exception{
        return Class.forName(className).newInstance();
    }
    -----
    客服端:
    String className = "com.test.Student";
    Student s = (Student)factory(className);