printin
编程技术  /  houtizong 发布于 3年前   96
package com.ch;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
/**
* 根据反射取对象的值
*
* @author zhangqiulong
*
*/
public class Debug {
private static void println(Object object) {
StringBuffer str = new StringBuffer();
if (object != null) {
try {
Class clazz = object.getClass();
str.append(clazz.getName()+":");
if(clazz == String.class|| clazz == int.class|| clazz == double.class|| clazz == float.class||clazz==char.class
|| clazz == boolean.class|| clazz == short.class|| clazz == long.class|| clazz == Integer.class
|| clazz == Double.class|| clazz == Float.class|| clazz == Boolean.class|| clazz == Short.class
|| clazz == Long.class||clazz==Character.class)
{
str.append(" ").append(object);
}
else if(object instanceof Collection)
{
str.append("[size=").append(((Collection)object).size()+"]");
}
else
{
Method[] metds=clazz.getMethods();
Field[] fds = clazz.getDeclaredFields();
for (Field field : fds) {
field.setAccessible(true);
boolean b=false;
for (Method method : metds) {
if(method.getName().equals("get" + change(field.getName()))){
b=true;
break;
}
}
if(!b){continue;}
Method metd = clazz.getMethod("get" + change(field.getName()), null);
Object ret = metd.invoke(object, null);
str.append(" ").append(field.getName()).append("=").append(ret);
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println(str.toString());
}
/**
* @param src
* 源字符串
* @return 字符串,将属性的第一个字母转换为大写,属性为空时返回null
*/
public static String change(String src) {
if (src != null) {
StringBuffer sb = new StringBuffer(src);
sb.setCharAt(0, Character.toUpperCase(sb.charAt(0)));
return sb.toString();
} else {
return null;
}
}
}
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接