ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
参考:http://borball.iteye.com/blog/207381
本笔记是在阅读Jakarta Commons Cookbook时所留下的。
1.使用ReflectionToStringBuilder 或者ToStringBuilder 自动产生toString()的内容。
使用举例:假设有一个表征校长候选人信息的javabean-PoliticalCandidate。
public class PoliticalCandidate {
private String lastName;
private String firstName;
private Date dateOfBirth;
private BigDecimal moneyRaised;
private State homeState;
// get/set方法省略
public void toString( ) {
ReflectionToStringBuilder.toString( this );
}
}
该bean里面有个toString()方法,假设有以下操作:
// Create a State
State va = new State( "VA", "Virginia");
// Create a Birth Date
Calendar calendar = new GregorianCalendar( );
calendar.set( Calendar.YEAR, 1743 );
calendar.set( Calendar.MONTH, Calendar.APRIL );
calendar.set( Calendar.DAY_OF_MONTH, 13 );
Date dob = calendar.getTime( );
BigDecimal moneyRaised = new BigDecimal( 293829292.93 );
// Create a Political Candidate
PoliticalCandidate candidate =
new PoliticalCandidate( "Jefferson", "Thomas", dob, moneyRaised, va );
System.out.println( candidate );
假设State对象也是一个使用ReflectionToStringBuilder的javabean,上述程序一种可能的输出为com.discursive.jccook.lang.builders.PoliticalCandidate@187aeca
[lastName=Jefferson,\firstName=Thomas,
dateOfBirth=Sat Apr 13 22:38:42 CST 1743,
moneyRaised=\293829292.930000007152557373046875,
state=\com.discursive.jccook.lang.builders.State@87816d
[abbreviation=VA,name=Virginia]]
分享到:
相关推荐
`System.DateTime.Now.ToString()` 是 .NET Framework 中用于格式化日期和时间的重要方法,它允许开发者根据需要自定义日期和时间的显示格式。在ASP.NET中,这个方法常用于将当前日期和时间转换为字符串,以便在网页...
ToString()和Convert.ToString()的用法区别 ToString()和Convert.ToString()是C#中两种常用的字符串转换方法,但它们之间存在一些重要的区别。在本文中,我们将深入探讨这两种方法的用法和区别,以帮助开发者更好地...
### Map.toString()后转换成Map类型的实现方法及解析 在Java编程中,有时我们需要将一个`Map`对象转换为字符串形式进行存储或传输,而在接收端又需要将该字符串重新转换回`Map`对象以便进一步处理。本篇将详细介绍...
生成GUID程序,C#源代码,System.Guid.NewGuid().ToString()全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。 GUID...
`Environment.OSVersion.ToString`是.NET Framework提供的一条内置方法,用于检索当前运行环境的操作系统版本信息。下面我们将深入探讨这个知识点。 首先,`Environment`类是System命名空间中的一个静态类,它提供...
console.log(Object.prototype.toString.call(arr)) //[object Array] 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下: 15.2.4.2 ...
在C#编程语言中,`Convert.ToString` 和 `ToString` 都是用来将对象转换为字符串的方法,但它们在处理特定情况时有所不同,特别是在处理 `null` 值时。了解这些区别对于C#开发者,尤其是初学者,是至关重要的。 ...
浅谈ToString()和Convert.ToString()方法的区别 一、一般用法说明 ToString()是Object的扩展方法,所以都有ToString()方法;而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型,也可以是...
问题的描述是这样的: 代码如下: console.log(10..toString());//10 console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL 为什么前者正常,而后者报错呢。原因就是,在JavaScript中,数字后面的”....
在C#编程中,`BitConverter.ToString`方法常用于将字节数组转换为表示这些字节的十六进制字符串。这个方法将每个字节转换为两个十六进制字符,并用短划线“-”分隔它们。然而,当你需要将这个格式的字符串再转换回...
Serilog.Exceptions是Serilog的附加用于记录Exception.ToString()中未输出的异常详细信息和自定义属性。它有什么作用? 现在,您的JSON日志将补充详细的异常信息,甚至是自定义异常属性。 这是当您从EntityFramework...
为什么要用Object.prototype.toString而不是Function.prototype.toString或者其它?这是和他们的toString解释方式有关系的。下面是ECMA中对Object.prototype.toString的解释: 代码如下: Object.prototype.toString...
ToString() 函数详解 ToString() 函数是一种常用的字符串转换函数,在 C# 中可以对各种数据类型进行转换,以满足不同的需求。下面我们将对 ToString() 函数进行详细的解释和分析。 首先,ToString() 函数可以对...
Convert.ToDateTime("2005-8-23").ToString ("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁体数据库 5.直接用ToString方法转换日期显示格式: DateTime.Now.ToString(...
"一个友好的改善的 Object.prototype.toString 的实现" 本文主要讨论了一个友好的改善的 Object.prototype.toString 的实现。首先,我们需要了解 Object.prototype.toString 方法的基本概念。 Object.prototype....