zoukankan      html  css  js  c++  java
  • 反射 day1


    1、
    Object objval = rs.getObject(fieldName);//如果数据库值为空时的返回值java中的null
    //这个如果是oracle数值型的数据的会返回的可能类型有很多,如BigDecimal short int byte long boolean 所以如果是数值型的要加判断,然后再用对应的getInt getShort 等方法。
    System.out.println(objval.getClass());
    if (objval != null) { //判断非空,为空则不进行赋值(赋不赋值都是null就不赋值了)
    if (objval instanceof Number) {
    if (field.getType().getName().equals("int")
    \好像这行个判断要不要都一样
    || field.getType().getName().equals("java.lang.Integer")) {
    m.invoke(object, rs.getInt(fieldName));//这样就肯定返回值是intl了,下面的也一样
    } else if (field.getType().getName().equals("long")
    || field.getType().getName().equals("java.lang.Long")) {
    m.invoke(object, rs.getLong(fieldName));
    } else if (field.getType().getName().equals("double")
    || field.getType().getName().equals("java.lang.Double")) {
    m.invoke(object, rs.getDouble(fieldName));
    } else if (field.getType().getName().equals("short")
    || field.getType().getName().equals("java.lang.Short")) {
    m.invoke(object, rs.getShort(fieldName));
    } else if (field.getType().getName().equals("byte")
    || field.getType().getName().equals("java.lang.Byte")) {
    m.invoke(object, rs.getByte(fieldName));
    } else if (field.getType().getName().equals("float")
    || field.getType().getName().equals("java.lang.Float")) {
    m.invoke(object, rs.getFloat(fieldName));
    }
    } else {
    m.invoke(object, objval);
    }
    }
    }
    list.add(object);

  • 相关阅读:
    Java中怎么控制线程訪问资源的数量
    我的Hook学习笔记
    《编写可读代码的艺术》——简单总结
    Hdu 1016 Prime Ring Problem (素数环经典dfs)
    setsockopt()使用方法(參数具体说明)
    Html5培训之精髓
    [unity3d]unity平台的预处理
    音频编辑大师 3.3 注冊名 注冊码
    linux tar.gz zip 解压缩 压缩命令
    面向对象的三个基本特征
  • 原文地址:https://www.cnblogs.com/dxwen/p/10759258.html
Copyright © 2011-2022 走看看