想把一个对象造型成指定的类型,这个类型名是一个字符串。请教代码如何写? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 补充说明:用的编译器是jdk1.4 你说的是cast?好像不可以的也没有这个必要呀,为什么要这样造型呢 是cast。刚好遇到了这样的问题,所以求解 我真的不明白什么情况会有这样的要求你说说看,估计都可以通过别的方法解决不过java没办法这样cast吧。因为cast并不改变对象的任何东西,只是让使用它的引用有所限制,而这些限制使用者应该是知道的。 cast不可能,cast属于编译期,而字符串的内容属于运行期。但是反射能解决部分问题。通常我们用动态类型,其classname可能各种各样,但是实际类型必然属于某个在编译期便可确定的类型(接口/抽象类),比如JDBC驱动,会因数据库而异,但是早在JDBC推出的时候,我们就知道java.sql.DriverManager里面处理的动态类型必然是个java.sql.Driver,同样,你的代码虽然不能确定其具体类型,但是其抽象类型/接口是已知的,代码里面直接cast到 (你的抽象类型/接口) obj public static Object getInstance(String className){ return Class.forName(className).newInstance();} 问一个关于Java xml的验证的问题 Java的类库很陌生 求助了,谢谢各位! java 怎么设置一个按钮无边框 java中如何将字符串赋给数组 java 写文件 關於參數“String ...str”的問題 关于 throws 语句的疑问,请大家帮忙给我点一下,谢谢! resultSet是只读的,如何将它变成可写的? 一个实际开发中的问题,有挑战性哦!! servlet的ServletContext对象何时销毁 请写出代码
刚好遇到了这样的问题,所以求解
不过java没办法这样cast吧。因为cast并不改变对象的任何东西,只是让使用它的引用有所限制,而这些限制使用者应该是知道的。
return Class.forName(className).newInstance();
}