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文档是依赖于注解完成的,在实体类需要导出的属性上面加上注解,导出的时候会自动识别该属性. 假如我们现在需要导出用户的信息,又不想污染原本的实体 ...
随机推荐
- LiveGBS流媒体服务如何开启GB28181转RTSP输出
GB28181流媒体服务搭建 搭建入口,解压启动即用:https://www.liveqing.com/docs/download/LiveGBS.html 配置RTSP端口 注意 在 Linux 下 ...
- 记一次 .NET 某中医药附属医院门诊系统 崩溃分析
一:背景 1. 讲故事 前段时间有位训练营的学员找到我,说他们的软件在客户那边崩溃了,没找到是什么原因,比较着急,让我帮忙看下是怎么回事?毕竟我的学员是永久的免费dump分析,必须给他上一卦. 二:崩 ...
- iai-kinect驱动问题解决
千辛万苦解决了libfreenect2的使用问题,终于来到了下一个坑--..iai-kinect2 主要要解决的问题是如下报错-- 'Failed to load nodelet '/kinect2_ ...
- 【Python】连接常用数据库
Python 连接常用数据库 Python 连接常用数据库 Mongodb Azure SQL databases MySQL Mongodb 安装pymongo包 pip install pymon ...
- (Sigcomm'25) Stellar: 阿里新一代云AI RDMA网络
(Sigcomm'25) Alibaba Stellar: A New Generation RDMA Network for Cloud AI 针对云AI的新一代RDMA网络,sigcomm'25 ...
- 【文心智能体 | AI大师工坊】文心智能体,陪爸妈去旅游,国庆假期不容错过,旅游搭子首选
文章目录 智能体运行效果 创作灵感 如何创作智能体 可能会遇到的问题 快速调优指南 [陪爸妈去旅游]我的优质智能体:https://mbd.baidu.com/ma/s/TnSL7Ner 在当今这个日 ...
- C++ 优缺点之我见
现在的趋势是多语言混成编程,故本文是针对混合编程. 1,C++优势: 1.1,性能优势. 1.2,可进化性(可复用性),进化出本团队顺手的类库. 2,C++小的优势或疑似优势: 2.1,"万 ...
- VS2013、VS2005都是MD,跨dll使用stl的string崩溃问题
何志丹 VS2013和VS2015的工程选项都设置成MD. VS2005编一个dll,有一个类CTest,有一个私有的std::string类型的成员变量. VS2013的exe 中CTest tes ...
- Impulse Noise(图像脉冲噪音)的抑制和处理方法(提取自《现代图像处理算法教程》一书并做解释)。
相关参考文章:现代图像处理算法教程(全) 参考书籍:modern-algorithms-for-image-processing-computer-imagery-by-example-using-C ...
- 如何将Edge标签页设置得干净好用
平时我们在使用Edge浏览器时候,会出现很多新闻信息,天气预报等等内容.那如何能够将Edge标签页设置得干净好用 这里我们来给大家分享一个我的Edge浏览器设置项