今天开始学习Jakarta Commons Lang,看的是O'Reilly的《Jakarta Commons Cookbook》。
ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。因此在使用该类时,要注意运行环境的安全策略。
例(取自《Jakarta Commons Cookbook》):
PoliticalCandidate类
ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleObject类绕过访问控制而直接存取对象的私有成员。因此在使用该类时,要注意运行环境的安全策略。
例(取自《Jakarta Commons Cookbook》):
PoliticalCandidate类
package sample;
import java.math.*;
import java.util.*;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
public class PoliticalCandidate {
private String lastName;
private String firstName;
private Date dateOfBirth;
private BigDecimal moneyRaised;
private State homeState;
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
public PoliticalCandidate(String lastName, String firstName,
Date dob, BigDecimal money, State s) {
this.lastName = lastName;
this.firstName = firstName;
this.dateOfBirth = dob;
this.moneyRaised = money;
this.homeState = s;
}
/**
* @param lastName the lastName to set
*/
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
* @return the lastName
*/
public String getLastName() {
return lastName;
}
/**
* @param firstName the firstName to set
*/
public void setFirstName(String firstName) {
this.firstName = firstName;
}
/**
* @return the firstName
*/
public String getFirstName() {
return firstName;
}
/**
* @param dateOfBirth the dateOfBirth to set
*/
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
/**
* @return the dateOfBirth
*/
public Date getDateOfBirth() {
return dateOfBirth;
}
/**
* @param moneyRaised the moneyRaised to set
*/
public void setMoneyRaised(BigDecimal moneyRaised) {
this.moneyRaised = moneyRaised;
}
/**
* @return the moneyRaised
*/
public BigDecimal getMoneyRaised() {
return moneyRaised;
}
/**
* @param homeState the homeState to set
*/
public void setHomeState(State homeState) {
this.homeState = homeState;
}
/**
* @return the homeState
*/
public State getHomeState() {
return homeState;
}
}
State类import java.math.*;
import java.util.*;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
public class PoliticalCandidate {
private String lastName;
private String firstName;
private Date dateOfBirth;
private BigDecimal moneyRaised;
private State homeState;
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
public PoliticalCandidate(String lastName, String firstName,
Date dob, BigDecimal money, State s) {
this.lastName = lastName;
this.firstName = firstName;
this.dateOfBirth = dob;
this.moneyRaised = money;
this.homeState = s;
}
/**
* @param lastName the lastName to set
*/
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
* @return the lastName
*/
public String getLastName() {
return lastName;
}
/**
* @param firstName the firstName to set
*/
public void setFirstName(String firstName) {
this.firstName = firstName;
}
/**
* @return the firstName
*/
public String getFirstName() {
return firstName;
}
/**
* @param dateOfBirth the dateOfBirth to set
*/
public void setDateOfBirth(Date dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
/**
* @return the dateOfBirth
*/
public Date getDateOfBirth() {
return dateOfBirth;
}
/**
* @param moneyRaised the moneyRaised to set
*/
public void setMoneyRaised(BigDecimal moneyRaised) {
this.moneyRaised = moneyRaised;
}
/**
* @return the moneyRaised
*/
public BigDecimal getMoneyRaised() {
return moneyRaised;
}
/**
* @param homeState the homeState to set
*/
public void setHomeState(State homeState) {
this.homeState = homeState;
}
/**
* @return the homeState
*/
public State getHomeState() {
return homeState;
}
}
package sample;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;
public class State {
private String shortName;
private String name;
public State(String shortName, String name) {
this.shortName = shortName;
this.name = name;
}
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
/**
* @param shortName the shortName to set
*/
public void setShortName(String shortName) {
this.shortName = shortName;
}
/**
* @return the shortName
*/
public String getShortName() {
return shortName;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the name
*/
public String getName() {
return name;
}
}
测试采用的是JUnit3.81import org.apache.commons.lang.builder.ReflectionToStringBuilder;
public class State {
private String shortName;
private String name;
public State(String shortName, String name) {
this.shortName = shortName;
this.name = name;
}
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
/**
* @param shortName the shortName to set
*/
public void setShortName(String shortName) {
this.shortName = shortName;
}
/**
* @return the shortName
*/
public String getShortName() {
return shortName;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the name
*/
public String getName() {
return name;
}
}
/**
*
*/
package sample;
import java.math.*;
import java.util.*;
import junit.framework.TestCase;
/**
* @author gnehzuil
*
*/
public class TestToStirng extends TestCase {
/**
* Test method for {@link sample.PoliticalCandidate#toString()}.
*/
public void testToString() {
State va = new State("VA", "Virginia");
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);
PoliticalCandidate candidate =
new PoliticalCandidate("Jefferson", "Thomas",
dob, moneyRaised, va);
System.out.println(candidate);
}
}
*
*/
package sample;
import java.math.*;
import java.util.*;
import junit.framework.TestCase;
/**
* @author gnehzuil
*
*/
public class TestToStirng extends TestCase {
/**
* Test method for {@link sample.PoliticalCandidate#toString()}.
*/
public void testToString() {
State va = new State("VA", "Virginia");
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);
PoliticalCandidate candidate =
new PoliticalCandidate("Jefferson", "Thomas",
dob, moneyRaised, va);
System.out.println(candidate);
}
}
输出:
PoliticalCandidate[lastName=Jefferson,firstName=Thomas,dateOfBirth=Sat Apr 13 20:16:44 CST 1743,moneyRaised=293829292.930000007152557373046875,homeState=State[shortName=VA,name=Virginia]]
Process finished with exit code 0
相关推荐
commons-lang.jar是日常编程中必不可少的一个jar包,在日常java编程中,经常会使用到commons-lang.jar包,还没有准备commons-lang.jar包的用户可以前来下载使用,本站不仅为大家提供了commons-lang3-3.1.jar下载地址
标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
这个"commons-lang-2.4.rar"压缩包包含了两个子文件,分别是"commons-lang-2.4-bin.zip"和"commons-lang-2.4-src.zip"。 "commons-lang-2.4-bin.zip"文件是编译后的二进制版本,包含了commons-lang库的JAR文件。这...
标签:apache、lang3、commons、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:apache、lang3、commons、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:apache、lang3、commons、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
标签:apache、commons、lang3、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
赠送jar包:commons-lang-2.4.jar; 赠送原API文档:commons-lang-2.4-javadoc.jar; 赠送源代码:commons-lang-2.4-sources.jar; 赠送Maven依赖信息文件:commons-lang-2.4.pom; 包含翻译后的API文档:commons-...
标签:apache、lang3、commons、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
相反,如果需要保持与旧版Java的兼容性,`commons-lang-2.6.jar`则更为合适。 总的来说,Apache Commons Lang是一个非常有价值的库,它极大地扩展了Java的标准功能,提高了开发效率。无论你是使用Lang3的最新特性...
标签:apache、commons、lang3、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
使用java编写webservice时,使用了json参数,则调用jar包,包括:commons-beanutils-1.7.0.jar,commons-lang-2.2.jar,ezmorph-1.0.5.jar,json_simple.jar,org.json.jar
commons-lang.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache....
Apache Commons Lang 是一个 Java 类库,它为 Java SDK 增加了大量有用的实用工具类,弥补了标准库中的一些不足。"commons-lang3-3.0-bin.zip" 是 Apache Commons Lang 的第 3.0 版本的二进制分发包。这个压缩包包含...
Apache Commons Lang是Java编程语言中的一个实用工具库,它提供了许多增强和补充Java核心类库功能的方法。在本例中,我们关注的是`commons-lang3-3.12.0.jar`包,这是Apache Commons Lang项目的最新版本。这个库包含...
赠送jar包:commons-lang-2.4.jar; 赠送原API文档:commons-lang-2.4-javadoc.jar; 赠送源代码:commons-lang-2.4-sources.jar; 赠送Maven依赖信息文件:commons-lang-2.4.pom; 包含翻译后的API文档:commons-...
commons-lang.jar是日常编程中必不可少的一个jar包,在日常java编程中,经常会使用到commons-lang.jar包,还没有准备commons-lang.jar包的用户可以前来下载使用,这里为大家提供了commons-lang3-3.1.jar