Object类型数组中对象向下转型~~~??? 有一个Object类型数组,现在数组里面元素具体类型不知道,怎样转换成本身的类型?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Object o = new Object[]{"test","yyy"} ;String s = (String)o[i] ;//强制转换 用instanceof 来判断一下,再做类型转换 楼上的兄弟注意了:现在数组里面元素具体类型不知道!我觉得只有在这个object类型中增加一个type属性,方便我们知道他是什么类型.不然的话据我所知不可能 我的意思是不知道o[i]的具体类型(不知道他是String型)肯定一点的是要先获得o[i]在转为Object前的类型。问题是怎么获得!!!?? 你对数组里的元素用getClass()试试。确定类了再转 如下:Object ob = new Object[2];ob[0] = "aa";ob[1] = new Hashtable();for (int i=0;i<ob.length;i++){System.out.println("Class["+ob[i].getClass()+"]");// 根据取得的类进行转换} Object ob = new Object[2];改为Object[] ob = new Object[2]; 所谓强制转型,就是用 "(类型)对象" 的语法。从这个语法上可以看出,你一定要写上这个“类型”,也就是说这个“类型”你是先知的。如果你知道可能有多种类型,那么你可以用一个(串)if语句来判断是哪种类型的对象就转成哪种类型。如果你根本不知道可能的类型范围,这就成了一个impossible misson 一个初始化的问题… &和&&分别是什么意思,一样吗? SWT 在执行动作时如何使鼠标不可用 怎样动态加载一个Jpanel呢? GM你出来,为什么我下载后评分也不把分补回来。 为什么到处都在说配置jdk的环境变量?我不配可以吗 一个学习目标的疑虑 在win98下,怎样设置环境变量 为何setColor无效,应该如何使用Color? 急!急!急!我的页面有VRML场景,同时有javaAPPLET,怎样由场景向APPLET发送消息或交互 求当前日期所在周数问题! 求:java3d电子版教程
肯定一点的是要先获得o[i]在转为Object前的类型。问题是怎么获得!!!??
Object ob = new Object[2];
ob[0] = "aa";
ob[1] = new Hashtable();for (int i=0;i<ob.length;i++){
System.out.println("Class["+ob[i].getClass()+"]");
// 根据取得的类进行转换
}
改为
Object[] ob = new Object[2];
从这个语法上可以看出,你一定要写上这个“类型”,也就是说这个“类型”你是先知的。如果你知道可能有多种类型,那么你可以用一个(串)if语句来判断是哪种类型的对象就转成哪种类型。
如果你根本不知道可能的类型范围,这就成了一个impossible misson