天天看点

Commons-lang-2.5 字符串处理

1) StringUtils

如果 str 为null或者"" ,则打印第二个参数,下面的例子打印的是no,还有其他很多实用的字符串方法,请大家自行研究.

String str = null;

String str2 = StringUtils.defaultIfEmpty(str,"no");

2) RandomStringUtils

得到一个长度为10,编码为utf-8的随机字符串

String str3 = RandomStringUtils.random(10, "utf-8");

3) Builder

Builder包里的类提供了一些特殊的方法,可用来构造类的toString、hashCode、compareTo 和equals

方法,其基本思路就是构造出类的高质量的toString、hashCode、compareTo 和equals 方法,从而免去

了用户自己定义这些方法之劳,只要调用一下Builder 包里面的方法就可以了.

public String toString() {

return ReflectionToStringBuilder.toString(this,ToStringStyle.MULTI_LINE_STYLE);

4) Validate

package test.common.lang;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.apache.commons.lang.Validate;

public class ValidateUtil111 {
	public static void main(String args[]) {
		// 以下所有验证都会抛出异常,需要捕捉处理

		// 如果验证为false,则输出:false The validated expression is false
		int i = 20;
		Validate.isTrue(i > 30);

		// 如果验证为false,则输出:i小于30不合法
		Validate.isTrue(i > 30, "i小于30不合法");

		// 如果验证为false,则输出:List是空
		List data = new ArrayList();
		data.add(null);
		Validate.noNullElements(data, "List是空");

		// 如果验证为false,则输出:The validated map is empty
		HashMap hashmap = new HashMap();
		Validate.notEmpty(hashmap);
	}
}