Java code lib 输出对象所有属性值
/**
* Converts an object to a string representation that lists all fields;
* @param obj an object
* @return a string with the object's class name and all filed names and values
*/
public String toString(Object obj) {
if(obj ==null) return "null";
if(visited.contains(obj)) return "...";
visited.add(obj);
Class cl=obj.getClass();
//String
if(cl==String.class) return (String) obj;
//Array
if(cl.isArray()){
String r=cl.getComponentType()+"[]{";
for(int i=0;i< Array.getLength(obj);i++){
if(i>0) r+=",";
Object val=Array.get(obj,i);
if(cl.getComponentType().isPrimitive()) r+=val;
else r+=toString(val);
}
return r+"}";
} String r=cl.getName();
//inspect the fields of this class and all superclass
do{
r+="[";
Field[] fields=cl.getDeclaredFields();
AccessibleObject.setAccessible(fields,true);
//get the names and values of all fields
for(Field f:fields){
if(!Modifier.isStatic(f.getModifiers()))
{
if(!r.endsWith("["))r+=",";
r+=f.getName()+"=";
try
{
Class t=f.getType();
Object val=f.get(obj);
if(t.isPrimitive()) r+=val;
else r+=toString(val);
}
catch (Exception e){
e.printStackTrace();
}
}
}
r+="]";
cl=cl.getSuperclass();
}
while (cl!=null);
return r;
}
Java code lib 输出对象所有属性值的更多相关文章
- java 获取实体类对象属性值的方法
在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...
- python 打印对象所有属性值
from pprint import pprint pprint (vars(your_object)) 另外查看所有属性名用.__dict__
- 【随笔】Java处理异常输出对象Exception,转为String输出
声明:这段代码也是从网上摘抄的,当时忘记记录地址了,此为转载,勿怪 public static String handleException(Exception e) { StringBuffer m ...
- easyUIDataGrid对象返回值
import java.util.List; /** * easyUIDataGrid对象返回值 * <p>Title: EasyUIResult</p> * <p> ...
- java 如何正确的输出集合或者对象的值
java 如何正确的输出集合或者对象的值 一般out.println(Object) 和 System.out.println(Object),其中输出的都是Object.toString()方法.重 ...
- Java 使用反射拷贝对象一般字段值
在<Java解惑>上面看到第八十三例--诵读困难者,要求使用非反射实现单例对象的拷贝.查阅了部分资料,先实现通过反射拷贝对象. 1. 编写需要被拷贝的对象Person package co ...
- Java中直接输出一个类的对象
例如 package com.atguigu.java.fanshe; public class Person { String name; private int age; public Strin ...
- java中两个对象间的属性值复制,比较,转为map方法实现
package com.franson.study.util; import java.lang.reflect.InvocationTargetException; import java.lang ...
- Java的Object.hashCode()的返回值到底是不是对象内存地址?
关于这个问题,查阅了网上的资料,发现证明过程太繁琐,这里我用了反证法. java.lang.Object.hashCode()的返回值到底是不是对象内存地址? hashCode契约 说到这个问题,大家 ...
- Java反射机制调用对象的方法 —— 将一个对象的属性值赋值给另一个对象的属性
模拟一个场景: 众所周知,EasyExcel导出Excel文档是依赖于注解完成的,在实体类需要导出的属性上面加上注解,导出的时候会自动识别该属性. 假如我们现在需要导出用户的信息,又不想污染原本的实体 ...
随机推荐
- DeepSeek对话的python解析、入库与Markdown导出
DeepSeek对话,可以在个人信息里通过官方导出JSON ,以下python脚本把json解析到postgresql数据库,并导出Markdown #DeepSeek的对话,可以在账户管理里导出Js ...
- 软件检测的中国方案:Gitee Test 在核心领域的实际应用
Gitee Test:国产信创安全测试领域的破局者与标准制定者 在数字化转型浪潮席卷全球的今天,软件系统已成为国家安全体系中的关键基础设施.特别是在军工.电力.轨道交通.金融等涉及国计民生的重要行业, ...
- 从黑科技到热科技 释放算力加速AI落地
第三轮人工智能浪潮经过几年的发展,今年在业界听到最多的词就是"场景".在科技界,AI技术逐渐成熟:在应用界,对AI的价值逐渐认可.人工智能产业进入了技术兑现.技术红利的关键阶段. ...
- 字节二面挂!面试官追问 Redis 内存淘汰策略 LRU 和传统 LRU 差异,我答懵了
大家好,我是小富- 面试都背过道八股题:Redis 的内存淘汰策略 LRU 和 LFU 是什么?怎么选好? 很多同学对这两个算法的理解,只停留在都是缓存淘汰,但说不清它们具体区别,概念混淆,更不知道实 ...
- 【Docker】基本介绍
Docker - 基础 Docker - 基础 Docker简介 什么是Docker 为什么使用Docker Docker基本概念 镜像 容器 仓库 Docker简介 什么是Docker Docker ...
- C6678图像处理板卡学习资料第426篇:基于XC7Z100+TMS320C6678的图像处理板卡
基于XC7Z100+TMS320C6678的图像处理板卡 一.板卡概述 板卡基于独立的结构,实现ZYNQ XC7Z100+DSP TMS320C6678的多路图像输入输出接口的综合图像处理,包含1路C ...
- Halo 链上好文插件使用指南
插件简介 链上好文是一款专为 Halo 博客系统设计的文章分享插件,旨在解决部分文章私密分享方面的需求.通过简单的操作,你可以快速生成可分享的链接,让你的文章可以分享给团队成员或好友浏览,避免未完成的 ...
- 解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSED
解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSE ...
- Mondriaan's Dream题解
洛谷原题链接:P10975 Mondriaan's Dream 看数据范围容易发现是状压DP 考虑如何规定状态 设f(i,s)为第i行,填充格式为s的方案数,其中s为二进制数,1表示在这个位置填充一个 ...
- 技术名称通解 --- 什么是 REST API ?
将api接口进行标准化,实现对某一个资源的增删改查操作.比如我要增加一个用户,我就要发送post /api/user/add .