这样一个问题  Integer i = new Integer(1);
  Object[] o = {i};
  Integer j = (Integer)o[0];
  这样当然是一点问题都没有了。但是如果我那个(Integer)不能直接写,而是从配置文件中读出来的,我怎么能转化他呢。就类似于把最后一句它换成
  String s = "java.lang.Integer";
  Integer j = (s)o[0];
  
这个当然是不对了,怎么解决呢

解决方案 »

  1.   

    if(s.equals("java.lang.Integer"))
      Integer j = (Integer) o[0];
      

  2.   

    我知道肯定是Class.forName()实现的。
    但是我着不到具体是怎么处理的,大侠们帮忙找找啊
      

  3.   

    要填充参数就用 BeanUtil 之类的工具填充,支持转化器.自动完成的.
    就像 Struts 自动把参数都填到 FormBean 中. WebService 自动能填充 Bean .
    Digester 自动读 XML 填充 Rule 对应的 Bean 等,可以挂转换器.
    可以找现成的 工具类库.
      

  4.   

    配置文件没有必要
    Integer i = new Integer(1);
    Object[] o = {i};
    Class c1=o[0].getClass();
     这里的c1.getName()得到的就是"Integer"
      

  5.   

    public class CastLence {
        public static String s = "java.lang.Integer";
    public static void main(String[] args) {
    Integer i = new Integer(1);
    Object[] o = { i };
    Integer j ;
    try {
    Class cl = Class.forName(s);
    if (cl.isInstance(o[0])){
    j = (Integer)o[0];
    }

    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }}Integer j = (s)o[0]; 这里的s没有这种用法。
      

  6.   

    Class cl = Class.forName(s);
    cl.newInstance().....