使用ToStringBuilder重写toString方法

作者:不要哭啦

发布时间:2017-05-18T14:58:42

Java中对象直接打印出来的是内存地址,需要重写toString() 过程太麻烦,因此可以使用commons-lang3中的ToStringBuilder直接将对象中的参数打印出来

/*
 * 投中信息
 * Copyright 2017 (C) All Rights Reserved.
 */
package cn.studyjava;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import cn.studyjava.mybatis.entity.User;

/**
 * <p>
 * Description:
 * </p>
 * 
 * @author: zsljava
 * @version 1.0.0
 * <p>
 * History:
 * -----------------------------------------------
 * @Date: 2017年5月18日 下午2:26:13
 * @author: zsljava
 * @version 1.0.0
 * @OP: Create
 * -----------------------------------------------
 * </p>
 *
 * @since
 * @see
 */
public class Test {

	public static void main(String[] args) {
		User user = new User();
		user.setName("John Doe");
		user.setAge(33);
		
		System.out.println(user);
		System.out.println(ToStringBuilder.reflectionToString(user,ToStringStyle.NO_CLASS_NAME_STYLE));
	}
}

结果:

cn.studyjava.mybatis.entity.User@52e922
[name=John Doe,age=33]

ToStringStyle风格展示: DEFAULT_STYLE:User@182f0db[name=John Doe,age=33] MULTI_LINE_STYLE: User@182f0db[ name=John Doe age=33 smoker=false ] NO_FIELD_NAMES_STYLE:User@182f0db[John Doe,33 ] SHORT_PREFIX_STYLE:User[name=John Doe,age=33] SIMPLE_STYLE:John Doe,33 NO_CLASS_NAME_STYLE:[name=John Doe,age=33] JSON_STYLE:{"name": "John Doe", "age": 33}