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的奥秘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值