官网
http://commons.apache.org/proper/commons-lang/
org.apache.commons
commons-lang3
3.8.1
1、ArrayUtils
int[] array = new int[]{1,2};
//给数组添加一个新元素,返回新集合
int[] array2 = ArrayUtils.add(array,3);
//合并数组,其中可以是null,如果只有一个数组相当于copy
int[] array3 = ArrayUtils.addAll(array,array2);
int[] array4 = ArrayUtils.clone(array);
boolean isHave = ArrayUtils.contains(array,1);
int code = ArrayUtils.hashCode(array);
//从array的第二个位置开始插入array4的值
int[] array5 = ArrayUtils.insert(2,array,array4);
//isEmpty判断是否是null或者长度0,isNotEmpty只是判断长度是不是0
ArrayUtils.isEmpty(array);
ArrayUtils.isNotEmpty(array);
//判断长度是否一样,null的长度也是0
ArrayUtils.isSameLength(array,array5);
//设置数组中null元素为[]
ArrayUtils.nullToEmpty(array5);
//同上add
// ArrayUtils.remove();
// ArrayUtils.removeAll();
//反转数组,反转数组指定区间值
ArrayUtils.reverse(array5);
ArrayUtils.reverse(array5,2,3);
//打乱顺序
ArrayUtils.shuffle(array5);
//截取数组
ArrayUtils.subarray(array5,2,3);
//指定位置交换数据
ArrayUtils.swap(array5,2,3);
//创建新数组
String[] strArray = ArrayUtils.toArray("大","小");
//对象数据类型转换为基本数据类型
Integer[] arrat7 = new Integer[]{5,6,7,8};
int[] array6 = ArrayUtils.toPrimitive(arrat7);
//转换成字符串
String str = ArrayUtils.toString(arrat7);
2、BooleanUtils
//判断是否都是true
boolean isTrue = BooleanUtils.and(true,true ,false);
//判断是不是有一个true
boolean isOr = BooleanUtils.or(false,true,false);
//是否是true和false都有
boolean isXor = BooleanUtils.xor(true,false);
3、ClassPathUtils
//获取指定类路径,com.stude.arithmetic.long3.ArrayUtilsTest
String path = ClassPathUtils.toFullyQualifiedName(ArrayUtilsTest.class,"ArrayUtilsTest");
//com/stude/arithmetic/long3/ArrayUtilsTest
String path2 = ClassPathUtils.toFullyQualifiedPath(ArrayUtilsTest.class,"ArrayUtilsTest");
4、EnumUtils
//通过字符串获取对应枚举类型(gson也有这功能)
TestEnum testEnum = EnumUtils.getEnum(TestEnum.class,"SMALL");
List testEnums = EnumUtils.getEnumList(TestEnum.class);
//字符串是否在枚举中
boolean isHave = EnumUtils.isValidEnum(TestEnum.class,"SMALL");
5、ObjectUtils
//判断一个或多个元素不为空
boolean no1 = ObjectUtils.allNotNull(null,new Object());
//至少有一个元素不为空
boolean no2 = ObjectUtils.anyNotNull(null,new Object(),null);
//调用的是类的clone方法,如果是集合,会把集合的下一层拷贝一份(一层深层拷贝)
Object object1 = ObjectUtils.clone(new Object());
//返回一个不为Null的对象
ObjectUtils.firstNonNull(null,null,new Object());
6、RandomUtils
//返回一个随机布尔值
RandomUtils.nextBoolean();
//随机生成10个长的的byte数组
byte[] bytes = RandomUtils.nextBytes(10);
//指定范围随机数1-5 不包括5
RandomUtils.nextInt(1,5);
//1-4.99999之间的随机数,nextLong,nextFloat
RandomUtils.nextDouble(1,5);
7、StringUtils
//2只显示6个长的的字符串,多的用省略号
String str1 = StringUtils.abbreviate("abcdefg",6);
//显示5个长度的字符串,除了最后一个中间用设置的符号代替
String str2 = StringUtils.abbreviateMiddle("abcdefgmmssmm","--",5);
//拼接字符串,但是str的结尾不能和def重合
StringUtils.appendIfMissing("abc","def");
//设置字符串长的,不足在两边用指定字符填充
StringUtils.center("hy",8,"*");
//检测字符串abcde中是否含有abc
StringUtils.contains("abcde","abc");
//检测字符串abcdef中是否保护abm或者y
StringUtils.containsAny("abcdef","abm","y");
//为null或者空字符串返回空字符串,有其他字符,返回字符
String str3 = StringUtils.defaultString(null);
//检测字符以什么结尾
StringUtils.endsWith("agffsww","sww");
StringUtils.equals("aaa","bbb");
//检测为空
StringUtils.isEmpty("");
//把数组以固定字符连接,组成字符串char、double、float、int、long、short、object、T同理
String str5 = StringUtils.join(new String[]{"a","b","c","d"},":");
//把字符串的重复此时控制在指定大小
StringUtils.repeat("sss",2);
//替换所有b为*
StringUtils.replace("abcd","b","*");
StringUtils.reverse("abcd");