java lang tostring,java反射实现的通用toString,java反射tostring

java反射实现的通用toString,java反射tostring

包括基本数据类型的数组都可以使用该方法转String

import java.lang.reflect.AccessibleObject;

import java.lang.reflect.Array;

import java.lang.reflect.Field;

public class GeneralToString {

public static String toString(Object obj){

StringBuffer strBuf=new StringBuffer();

Class cla = obj.getClass();

/**

* 对于基本数据类型和String直接返回

*/

if(cla == Integer.class || cla == Short.class || cla == Byte.class || cla == Long.class

|| cla == Double.class || cla == Float.class || cla == Boolean.class || cla == String.class

|| cla == Character.class){

strBuf.append(obj);

return strBuf.toString();

}

/**

* 对数组类型的处理

*/

if(cla.isArray()){

strBuf.append("[");

for(int i = 0;i

if(i>0) strBuf.append(",");

Object val = Array.get(obj, i);

if(val!=null&&!val.equals("")){

strBuf.append(toString(val));

}

}

strBuf.append("]");

return strBuf.toString();

}

//获取所有属性

Field[] fields=cla.getDeclaredFields();

//设置所有属性方法可访问

AccessibleObject.setAccessible(fields, true);

strBuf.append("[");

for(int i=0;i

{

Field fd=fields[i];

strBuf.append(fd.getName()+"=");

try

{

if(!fd.getType().isPrimitive()&&fd.getType()!=String.class){

strBuf.append(toString(fd.get(obj)));

}else{

strBuf.append(fd.get(obj));

}

}

catch (Exception e)

{

e.printStackTrace();

}

if(i!=fields.length-1)

strBuf.append(",");

}

strBuf.append("]");

return strBuf.toString();

}

}

相关文章暂无相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值