java接收不同的类对象(包含实体类)的公共方法

什么不说先上代码,代码上有具体的注释,在此以实体类对象为示意

1、实体类代码

	首先是实体类代码,仅用一个实体类演示,读者可自行增加实体类,我实体类用的是lombok来自行创建get、set方法和有参无参方法
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Users implements Serializable {
    @Id
    private String id;
    private String phone;
    private String email="ssssddd@qq.com";
    private String username;
    private String password="123";
    private String isfirst;
    private String salt;
}

2.发送实体类的方法

public class UserServiceEGImpl{
	public void testUsers() {
		//获取需要被发送的实体类
        Users users = new Users();
        //调用接收实体类的方法
        BlankNumUtils.usersBlankNum(Users.class, users);
    }
}

3.接收不同实体类的公共方法

public class BlankNumUtils {
	//	<U>和Class<U> clazz用来接收实体类(或者其他类)对象的反射 new Users().class,
	//U cla 用来接收实体类对象(或者其他类)new Users()
    public static <U> void usersBlankNum(Class<U> clazz, U cla) {
    	//将传过来的对象进行赋值处理,
    	//此时u可用来代表传过来的对象(本示意中是Users),
    	//此时可以用u调用传过来对象的方法
        U u = clazz.cast(cla);
        //以下是验证此示意中实体类可被操作了
		//getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和proteced,但是不包括父类的申明字段。
		//.getClass()是一个对象实例的方法,只有对象实例才有这个方法,具体的类是没有的
        for (Field field : u.getClass().getDeclaredFields()) {
        	//允许获取实体类private的参数信息 field.setAccessible(true);
            field.setAccessible(true);
            try {
                System.out.println(field.getName()+":::"+String.valueOf(field.get(u)));
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
    }
}

4.最终的输出数据展示,表明接收并操作成功(注意:我的实体类仅仅赋值了两个数据,所以会有null数据)

实体类接收成功::id:::null
实体类接收成功::phone:::null
实体类接收成功::email:::ssssddd@qq.com
实体类接收成功::username:::null
实体类接收成功::password:::123
实体类接收成功::isfirst:::null
实体类接收成功::salt:::null

以上就是本次文章分享,欢迎各位指正,共同探讨java的奥秘

发布了3 篇原创文章 · 获赞 0 · 访问量 59
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览