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);

  • 相关阅读:
    bnuoj 4207 台风(模拟题)
    bnuoj 4208 Bubble sort
    bnuoj 4209 Triangle(计算几何)
    bnuoj 33656 J. C.S.I.: P15(图形搜索题)
    bnuoj 33648 Neurotic Network(树形模拟题)
    bnuoj 33647 Angry Grammar Nazi(字符串)
    bnuoj 16493 Just Pour the Water(矩阵快速幂)
    Solidity合约记录——(三)如何在合约中对操作进行权限控制
    预赛第二场
    预赛第一场
  • 原文地址:https://www.cnblogs.com/dxwen/p/10759258.html
Copyright © 2011-2022 走看看