为了账号安全,请及时绑定邮箱和手机立即绑定

顺序获取javaBean中的属性和对应的值

标签:
Java

代码

 /** * @功能描述:顺序获取javaBean中的属性和对应的值,并格式化为"'','',...'',''" */public static String getFieldValueByName(Object obj) {    StringBuffer valueStr = new StringBuffer();    Field fields[] = obj.getClass().getDeclaredFields();    String[] beanName = new String[fields.length];    Object[] beanValue = new Object[fields.length];    Object[] beanSourceType = new Object[fields.length];    try {        Field.setAccessible(fields, true);        for (int i = 0; i < beanName.length; i++) {            beanName[i] = fields[i].getName();            beanValue[i] = fields[i].get(obj);            beanSourceType[i] = fields[i].getType().getName();            if ("java.lang.Integer".equals(beanSourceType[i]) || "java.lang.Long".equals(beanSourceType[i])                    || "java.lang.BigInteger".equals(beanSourceType[i]) || "java.lang.Float".equals(beanSourceType[i])                    || "java.lang.Double".equals(beanSourceType[i]) || "java.lang.BigDecimal".equals(beanSourceType[i])) {                valueStr.append(beanValue[i]);            }else{                valueStr.append("'");                valueStr.append(converEmpty((String)beanValue[i]));                valueStr.append("'");            }            valueStr.append(",");        }    } catch (Exception e) {        e.printStackTrace();    }    String sqlValueStr = valueStr.toString();    if (sqlValueStr.length() > 0) {        sqlValueStr = sqlValueStr.substring(0, sqlValueStr.lastIndexOf(","));    }    return sqlValueStr;}/** * @功能描述:如果字符串是null,则返回""字符串 */public static String converEmpty(String str){    return (str == null || "null".equals(str)) ? "" : str;}

以上代码中,Field.setAccessible(fields,true); 是最为关键的一点。
在使用java反射机制获取 JavaBean 的属性值时,如果该属性被声明为private 的,需要将setAccessible设置为true. 默认的值为false


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消