精华内容
下载资源
问答
  • Java遍历实体类
    千次阅读
    2019-12-26 14:51:48
    public void reflect(Object obj) throws Exception{  
            Class cls = obj.getClass();
            Field[] fields = cls.getDeclaredFields();
            for(int i=0; i<fields.length; i++){  
                 Field f = fields[i];  
                 f.setAccessible(true);  
                 System.out.println("属性名:" + f.getName() + " 属性值:" + f.get(e));  
             }   
         } 

     

    更多相关内容
  • 下面小编就为大家带来一篇java反射遍历实体类属性和类型,并赋值和获取值的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 因此,对于遍历实体类能够与数据库中的一行数据对应起来。我是使用的环境是Spring boot,访问的数据库时MongoDB实体类遍历://java中遍历实体类,获取属性名和属性值public static void testReflect(Object model) ...

    在实际过程中,经常要将实体类进行封装,尤其是处理数据库的过程中;因此,对于遍历实体类能够与数据库中的一行数据对应起来。

    我是使用的环境是Spring boot,访问的数据库时MongoDB

    实体类遍历:

    //java中遍历实体类,获取属性名和属性值

    public static void testReflect(Object model) throws Exception{

    for (Field field : model.getClass().getDeclaredFields()) {

    field.setAccessible(true);

    System.out.println(field.getName() + ":" + field.get(model) );

    }

    }

    pom.xml需要配依赖

    commons-beanutils

    commons-beanutils

    1.9.3

    我项目中的代码:

    public String reflectData(DianpingShopEntity entry) throws Exception{

    StringBuilder stringBuilder = new StringBuilder();

    for (Field field : entry.getClass().getDeclaredFields()) {

    field.setAccessible(true);

    stringBuilder.append(field.get(entry)).append(',');

    }

    return stringBuilder.deleteCharAt(stringBuilder.length()-1).toString();

    }

    public String reflectTitle(DianpingShopEntity entry) throws Exception{

    StringBuilder stringBuilder = new StringBuilder();

    for (Field field : entry.getClass().getDeclaredFields()) {

    field.setAccessible(true);

    stringBuilder.append(field.getName()).append(',');

    }

    return stringBuilder.deleteCharAt(stringBuilder.length()-1).toString();

    }

    java中遍历实体类,获取属性名和属性值

    方式一(实体类): //java中遍历实体类,获取属性名和属性值 public static void testReflect(Object model) throws Exception{ for ...

    java中遍历实体类属性和类型

    public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...

    java中遍历实体类属性和类型,属性值

    public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, I ...

    Java中的实体类--Serializable接口、transient 关键字

    在java中,实体类是一个非常重要的概念,我们可以在实体类中封装对象.设置其属性和方法等.关于实体类,也经常涉及到适配器模式.装饰者模式等设计模式.那么在实际代码开发中,关于实体类的注意事项有哪些呢? ...

    java反射遍历实体类属性和类型&comma;并赋值和获取值

    /* * GetModelNameAndType.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ packag ...

    java中为什么实体类需要实现序列化

    当客户端访问某个能开启会话功能的资源,web服务器就会创建一个HTTPSession对象,每个HTTPSession对象都会占用一定的内存,如果在同一个时间段内访问的用户太多,就会消耗大量的服务器内存 ...

    java中从实体类中取值会忽略的的问题

    在我们java Map中通过get来取值时会忽略的问题是:如果取得一个空值null时,那么.toString()时就会出错,而且不知道是什么原因. 现在我给的具体方法是用条件表达式先判断一下. 例: ...

    java中循环遍历实体类的属性和数据类型以及属性值

    package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTarg ...

    java中如何遍历实体类的属性和数据类型以及属性值

    package com.walkerjava.test; import java.lang.reflect.Field; import java.lang.reflect.InvocationTa ...

    随机推荐

    Qt——动态库的创建和使用

    一.动态库是什么 很多人写程序的人都见过.lib和.dll文件,对动态库也略有耳闻. 生成动态库后可以得到两个文件,后缀名分别是.lib以及.dll. 简而言之,.lib称为导入库,相当于头文件:.d ...

    利用css做扇形

    html和css每一块的边边角角都是直来直去,除了border-raius,要怎么做扇形了?当然,你如果只想要得到直角扇形,和半圆,那就很简单?那么做小于180的直角扇形,如何做了(大于180的直角无 ...

    Pending Statistics

    Starting with the 11g Release 1 (11.1), when gathering statistics, you have the option to automatica ...

    MySQL配置管理

    数据库的链接: 获取项目结果集和链接: package Dao; import java.sql.Connection; import java.sql.ResultSet; import java. ...

    flask-login ----系统权限设计部分小结

    tips: 事实证明.开发是一项苦力活.但是代码只有自己写的才是令人感到放心的.不过仅仅是从开发角度来说.从维护和安全角度来说,当然还是引入模块比较爽 但是引入的模块总会有一些问题.碰到的最大问题就是 ...

    ●Joyoi Dotp 驱逐猪猡

    题链: http://www.joyoi.cn/problem/tyvj-2610题解: 期望dp,高斯消元 对于每一种到达i点的方案,都存在一个概率p, 令dp[i]表示到达i点的期望次数,那么容易 ...

    java基础中this&comma;super

    this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. this的用法就不累赘的说 ...

    Java开发环境配置&lpar;1&rpar;--tool准备

    工具准备:1.eclipse-mars开发工具必须安装 2.XAMPP-环境集成了MYSQL,APACHE,TOMCAT建议安装 3.TOMCAT提供了二个版本(8.0和9.0),建议安装一个以备不时 ...

    MVC架构介绍-序列化属性

    实例产品基于asp.net mvc 5.0框架,源码下载地址:http://www.jinhusns.com/Products/Download 在设计时,如果能够预测到一些实体可能在后续的研发(或二 ...

    mysql操作查询结果case when then用法举例

    举例1: 使用该查询,得出iFavoriteID,iFavUserType ,cUser,iArticleID,dFavoriteTime五个字段的值: SELECT iFavoriteID,CASE ...

    展开全文
  • //获取实体类的所有属性,返回Field数组 for(int j=0 ; j String name = field[j].getName(); //获取属性的名字System.out.println("attribute name:"+name); name= name.substring(0,1).toUpperCase()+name....

    public static void testReflect(Object model) throwsNoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{

    Field[] field= model.getClass().getDeclaredFields(); //获取实体类的所有属性,返回Field数组

    for(int j=0 ; j

    String name = field[j].getName(); //获取属性的名字System.out.println("attribute name:"+name);

    name= name.substring(0,1).toUpperCase()+name.substring(1); //将属性的首字符大写,方便构造get,set方法

    String type = field[j].getGenericType().toString(); //获取属性的类型

    if(type.equals("class java.lang.String")){ //如果type是类类型,则前面包含"class ",后面跟类名

    Method m = model.getClass().getMethod("get"+name);

    String value= (String) m.invoke(model); //调用getter方法获取属性值

    if(value != null){

    System.out.println("attribute value:"+value);

    }

    }if(type.equals("class java.lang.Integer")){

    Method m= model.getClass().getMethod("get"+name);

    Integer value=(Integer) m.invoke(model);if(value != null){

    System.out.println("attribute value:"+value);

    }

    }if(type.equals("class java.lang.Short")){

    Method m= model.getClass().getMethod("get"+name);

    Short value=(Short) m.invoke(model);if(value != null){

    System.out.println("attribute value:"+value); }

    }if(type.equals("class java.lang.Double")){

    Method m= model.getClass().getMethod("get"+name);

    Double value=(Double) m.invoke(model);if(value != null){

    System.out.println("attribute value:"+value);

    }

    }if(type.equals("class java.lang.Boolean")){

    Method m= model.getClass().getMethod("get"+name);

    Boolean value=(Boolean) m.invoke(model);if(value != null){

    System.out.println("attribute value:"+value);

    }

    }if(type.equals("class java.util.Date")){

    Method m= model.getClass().getMethod("get"+name);

    Date value=(Date) m.invoke(model);if(value != null){

    System.out.println("attribute value:"+value.toLocaleString());

    }

    }

    }

    }

    展开全文
  • import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Date;/**** 遍历实体类的属性和数据类型以及属性值** @author L...

    package com.walkerjava.test;

    import java.lang.reflect.Field;

    import java.lang.reflect.InvocationTargetException;

    import java.lang.reflect.Method;

    import java.util.Date;

    /***

    * 遍历实体类的属性和数据类型以及属性值

    *

    * @author LiBaozhen

    * @date 2013-1-4 上午10:25:02

    * @company

    * @version v1.3

    * @see 相关类

    * @since 相关/版本

    */

    public class ReflectTest {

    public static void reflectTest(Object model) throws NoSuchMethodException,

    IllegalAccessException, IllegalArgumentException,

    InvocationTargetException {

    // 获取实体类的所有属性,返回Field数组

    Field[] field = model.getClass().getDeclaredFields();

    // 遍历所有属性

    for (int j = 0; j < field.length; j++) {

    // 获取属性的名字

    String name = field[j].getName();

    // 将属性的首字符大写,方便构造get,set方法

    name = name.substring(0, 1).toUpperCase() + name.substring(1);

    // 获取属性的类型

    String type = field[j].getGenericType().toString();

    // 如果type是类类型,则前面包含"class ",后面跟类名

    System.out.println("属性为:" + name);

    if (type.equals("class java.lang.String")) {

    Method m = model.getClass().getMethod("get" + name);

    // 调用getter方法获取属性值

    String value = (String) m.invoke(model);

    System.out.println("数据类型为:String");

    if (value != null) {

    System.out.println("属性值为:" + value);

    } else {

    System.out.println("属性值为:空");

    }

    }

    if (type.equals("class java.lang.Integer")) {

    Method m = model.getClass().getMethod("get" + name);

    Integer value = (Integer) m.invoke(model);

    System.out.println("数据类型为:Integer");

    if (value != null) {

    System.out.println("属性值为:" + value);

    } else {

    System.out.println("属性值为:空");

    }

    }

    if (type.equals("class java.lang.Short")) {

    Method m = model.getClass().getMethod("get" + name);

    Short value = (Short) m.invoke(model);

    System.out.println("数据类型为:Short");

    if (value != null) {

    System.out.println("属性值为:" + value);

    } else {

    System.out.println("属性值为:空");

    }

    }

    if (type.equals("class java.lang.Double")) {

    Method m = model.getClass().getMethod("get" + name);

    Double value = (Double) m.invoke(model);

    System.out.println("数据类型为:Double");

    if (value != null) {

    System.out.println("属性值为:" + value);

    } else {

    System.out.println("属性值为:空");

    }

    }

    if (type.equals("class java.lang.Boolean")) {

    Method m = model.getClass().getMethod("get" + name);

    Boolean value = (Boolean) m.invoke(model);

    System.out.println("数据类型为:Boolean");

    if (value != null) {

    System.out.println("属性值为:" + value);

    } else {

    System.out.println("属性值为:空");

    }

    }

    if (type.equals("class java.util.Date")) {

    Method m = model.getClass().getMethod("get" + name);

    Date value = (Date) m.invoke(model);

    System.out.println("数据类型为:Date");

    if (value != null) {

    System.out.println("属性值为:" + value);

    } else {

    System.out.println("属性值为:空");

    }

    }

    }

    }

    }

    Java反射 在只知道类名的情况下,怎样给其中的私有属性赋值

    利用反射能

    //假设类名为A

    // 实例化类

    A p = new A();

    // 获取class

    Class c = p.getClass();

    // 获取该类所有的字段

    Field[] fields = c.getDeclaredFields();

    // 遍历赋值

    for (int i = 0; i < fields.length; i++) {

    String filedName = fields[i].getName();

    // AccessibleTest类中的成员变量为private,故必须进行此操作

    fields[i].setAccessible(true);

    // 判断类型

    Class> type=fields[i].getType();

    //获取字段类型

    String typeName=type.getName();

    System.out.println(type.getName());

    // 对字段进行赋值 第一个参数为对象引用第二个参数为要附的值

    //如果为字符串类型

    if("java.lang.String".equals(typeName)){

    fields[i].set(p, "1");

    }

    //如果为日期类型

    else if("java.util.Date".equals(typeName)){

    fields[i].set(p, new Date());

    }

    else{

    fields[i].set(p, 1);

    }

    }

    展开全文
  • java遍历实体类属性值

    2021-03-07 00:45:16
    ()方法,在列表的首部插入元素 D、在对这个集合的元素执行遍历操作时,效率比较高 9、在 java 中,关于 HashMap 的描述,以下说法错误的是( )(选择一项) A、......13.包装器类型包括哪些,有什么作用? 14. 请说明 ...
  • import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Date;/**** 遍历实体类的属性和数据类型以及属性值** @author L...
  • 此方法遍历实体类所有属性,对于常用的java包装类类型和java.util.Date,输出其属性值,如果有其它类型,则需自己扩展。public static void testReflect(Object model) throws NoSuchMethodException, ...
  • 遍历实体类属性并赋值

    千次阅读 2021-03-15 02:50:55
    //遍历所有属性 for (int i = 0; i ; i++) { String type = field[i].getGenericType().toString(); //BigDecimal类型 if(type.equals("class java.math.BigDecimal")){ //获取属性的名字 String name = field[i]....
  • java中遍历实体类属性字段及值

    千次阅读 2019-11-19 10:16:32
    https://blog.csdn.net/dongzhouzhou/article/details/8659836 https://blog.csdn.net/bwgang/article/details/8475076
  • java遍历实体类的属性和值

    千次阅读 2018-09-21 10:28:58
    实体类:   public class User implements Serializable { private static final long serialVersionUID = 1L; private String pkid; private String userName; private String p...
  • JAVA-遍历实体类属性

    千次阅读 2018-09-04 09:01:16
    "转义请求参数-实体类转换失败" , e1) ; } } //System .out .println ( "属性名:" + f .getName () + " 属性值:" + f .get (e)) ; } } public static void main(String args[]){ DiffConfigBean b =...
  • * @param model 为实体类 * @author kou 为传入参数 */ public class GetModelNameAndType { public static void testReflect(Object model) throws SecurityException, NoSuchMethodException, ...
  • 运用java反射为实体类赋值 /** * 后台插入workerinfo时,插入sysuser表 * state = 0新增 1修改 * @return */ public int insertOrUpdateSysuser(WorkerInfo workerInfo,String state) { SysUser sysUser = new ...
  • 原文地址:...方式一(实体类): //java中遍历实体类,获取属性名和属性值 public static void testReflect(Object model) throws Exception{ for (Field field : model.getClass...
  • 获取实体类的所有属性,返回Field数组 Field[] field = model.getClass().getDeclaredFields(); // 获取属性的名字 String[] modelName = new String[field.length]; String[] modelType = new ...
  • //获取实体类的所有属性,返回Field数组 for(int j=0 ; j; j++){ //遍历所有属性 String name = field[j].getName(); //获取属性的名字 System.out.println("attribute name:"+name); name = name....
  • 遍历实体类

    千次阅读 2011-08-17 17:20:55
     此方法遍历实体类所有属性,对于常用的java包装类类型和java.util.Date,输出其属性值,如果有其它类型,则需自己扩展。   public static void testReflect(Object model) throws NoSuchMethodException, I...
  • 遍历Java实体类属性及值 核心代码 /** * * @Title: getPostParams * @Description: 将实体类clazz的属性转换为url参数 * @param clazz 参数实体类 * @return * String */ private String getPostParams...
  • 反射遍历实体类

    2019-10-01 15:53:41
    如何对比实体类每个属性的前后变化差异? Apple app1 = new Apple(); app1.name = "liu"; app1.pice = "33"; Apple app2 = new Apple(); app2.name = "liu"; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,516
精华内容 39,006
关键字:

遍历实体类