ToStringBuilder:
导入commons-lang.jar
系统中一般都要打印日志的,因为所有实体的toString()方法 都用的是简单的"+",因为每"+" 一个就会 new 一个 String 对象,这样如果系统内存小的话会暴内存(前提系统实体比较多)。使用ToStringBuilder就可以避免暴内存这种问题的。
reflectionToString方法,主要是把类对应的基本属性和值输出来
ToStringBuilder.reflectionToString(this,
ToStringStyle参数说明:
1. DEFAULT_STYLE
2. MULTI_LINE_STYLE
]
3. NO_FIELD_NAMES_STYLE
4. SHORT_PREFIX_STYLE
5. SIMPLE_STYLE
Lang 中工具类比较多,这里介绍几个主要的:
ClassUtils:
NumberUtils: 关于数字以及数字和字符串转换的类 stringToInt,toDouble,createNumber,isAllZeros, int compare(float lhs, float rhs), isNumber(String str),double min(double[] array)。
RandomUtils: 用于产生随机数的。
DateFormatUtils: 日期时间格式转换,以及本地时间和 UTC 时间转换。
DateUtils: 日期工具类。isSameDay,truncate,round,modify。
基于反射机制的几个类:
CompareToBuilder: 比较,用在算法、排序、比较的地方。reflectionCompare,append。
EqualsBuilder: 通过反射机制比较。reflectionEquals 很多项目中用到。
HashCodeBuilder: 可以通过反射生成 hash code,很多算法的地方涉及到 hash code,但是并不是每个人都知道一种 hash code 的生成方法。
ToStringBuilder: 当你需要重载 toString 函数而不想写代码把当前类的所有成员信息列出来,可以用这个函数。
其它的几个类我用得比较少:
SerializationUtils
SystemUtils 可以读取一些关于 jdk 信息,操作系统信息的工具类。
DateFormatUtils 时间格式化
DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")-若HH小写代表12小时制
StringUtils 字符串操作 StringUtils.isBlank("") - 会去空格
CollectionUtils