Java 实体类对象转URL参数
程序员文章站
2022-07-10 19:02:49
public static String entityToUrlParam(T t){ StringBuffer urlParam = new StringBuffer(); Arrays.stream(t.getClass().getDeclaredFields()).forEach(field -> { field.setAccessible(true); try { ......
/**
* 实体类对象转URL参
* @param t 实体类对象
* @param callSuper 是否转换父类成员
* @param <T> 实体类泛型
* @return a=1&b=2
*/
public static <T> String entityToUrlParam(T t,boolean callSuper){
// URL 参数存储器
StringBuffer urlParam = new StringBuffer();
//扩展转换父类成员功能
entitySuperclassToUrlParam(t, t.getClass(),callSuper,urlParam);
if(urlParam.length()>0){
//去除最后一个&字符
urlParam.deleteCharAt(urlParam.length() - 1);
}
return urlParam.toString();
}
/**
* 实体类对象转URL参
* @param t 实体类对象
* @param clazz 实体类类型
* @param callSuper 是否转换父类成员
* @param urlParam URL 参数存储器
* @param <T> 实体类泛型
* @return a=1&b=2
*/
@Deprecated
public static <T> void entitySuperclassToUrlParam(T t,Class clazz,boolean callSuper,StringBuffer urlParam){
//如果实体类对象为Object类型,则不处理
if(!clazz.equals(Object.class)) {
//获取实体类对象下的所有成员,并保存到 URL 参数存储器中
Arrays.stream(clazz.getDeclaredFields()).forEach(field -> {
//设置可以操作私有成员
field.setAccessible(true);
try {
//获取成员值
Object value = field.get(t);
//成员值为 Null 时,则不处理
if (Objects.nonNull(value)) {
urlParam.append(field.getName()).append("=").append(value).append("&");
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
});
//是否转换父类成员
if(callSuper){
//获取父类类型
clazz = clazz.getSuperclass();
//递归调用,获取父类的处理结果
entitySuperclassToUrlParam(t,superclazz,callSuper,urlParam);
}
}
}
public static void main(String[] args) {
String urlParam = entityToUrlParam(实体类对象,实体类对象的Class);
System.out.println(urlParam);
}
本文地址:https://blog.csdn.net/Mr_wangjk/article/details/107666706
上一篇: Mybatis中一对多关联表查询
下一篇: Java实现基于控制台的购书系统基本操作
推荐阅读
-
前端js把json字符串转json对象(java对象转json对象命令)
-
Java中成员变量与局部变量的区别、对象类型作为方法的参数和方法的返回值
-
JS获取url参数并保存在对象中的代码教程
-
编写JavaScript函数parseQueryString,把URL参数解析为一个对象(代码分析)
-
#JAVA#面向对象(方法的形式参数是类名的时候如何调用)
-
java面向对象思想(抽象 接口 多态 object 内部类 包装类 可变参数)
-
如何对url的的参数进行一个对象转化
-
实体类@Entity中打印对象时,java.lang.*Error
-
微信小程序(uni-app)url参数传递对象
-
java对象转json