什么不说先上代码,代码上有具体的注释,在此以实体类对象为示意
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