isAssignable:是否是相同的class类型 支持class、数组等等 挺实用的
isInnerClass:检查一个类是否是内部类或者静态内部类等
getClass:加强版的Class.forName() 可以指定值是否要马上初始化该类
hierarchy:获取到该类的继承结构
public static void main(String[] args) { Iterable<Class<?>> hierarchy = ClassUtils.hierarchy(ArrayList.class); hierarchy.forEach(System.out::println); //输出了类的层级结构(默认是不包含接口的) //class java.util.ArrayList //class java.util.AbstractList //class java.util.AbstractCollection //class java.lang.Object hierarchy = ClassUtils.hierarchy(ArrayList.class,ClassUtils.Interfaces.INCLUDE); hierarchy.forEach(System.out::println); //class java.util.ArrayList //interface java.util.List //interface java.util.Collection //interface java.lang.Iterable //interface java.util.RandomAccess //interface java.lang.Cloneable //interface java.io.Serializable //class java.util.AbstractList //class java.util.AbstractCollection //class java.lang.Object }
EnumUtils:辅助操作枚举的一些工具
getEnum(Class enumClass, String enumName) 通过类返回一个枚举,可能返回空
getEnumList(Class enumClass) 通过类返回一个枚举集合
getEnumMap(Class enumClass) 通过类返回一个枚举map
isValidEnum(Class enumClass, String enumName) 验证enumName是否在枚举中,返回true false
//枚举类 public enum ImagesTypeEnum { JPG,JPEG,PNG,GIF; } //测试 ImagesTypeEnum imagesTypeEnum = EnumUtils.getEnum(ImagesTypeEnum.class, "JPG"); System.out.println("imagesTypeEnum = " + imagesTypeEnum); System.out.println("--------------"); List<ImagesTypeEnum> imagesTypeEnumList = EnumUtils.getEnumList(ImagesTypeEnum.class); imagesTypeEnumList.stream().forEach( imagesTypeEnum1 -> System.out.println("imagesTypeEnum1 = " + imagesTypeEnum1) ); System.out.println("--------------"); Map<String, ImagesTypeEnum> imagesTypeEnumMap = EnumUtils.getEnumMap(ImagesTypeEnum.class); imagesTypeEnumMap.forEach((k, v) -> System.out.println("key:" + k + ",value:" + v)); System.out.println("-------------"); boolean result = EnumUtils.isValidEnum(ImagesTypeEnum.class, "JPG"); System.out.println("result = " + result); boolean result1 = EnumUtils.isValidEnum(ImagesTypeEnum.class, null); System.out.println("result1 = " + result1); 输出: imagesTypeEnum = JPG -------------- imagesTypeEnum1 = JPG imagesTypeEnum1 = JPEG imagesTypeEnum1 = PNG imagesTypeEnum1 = GIF -------------- key:JPG,value:JPG key:JPEG,value:JPEG key:PNG,value:PNG key:GIF,value:GIF ------------- result = true result1 = false
JavaVersion 枚举类,记录了java所有的版本号
RandomStringUtils : 需要随机字符串的时候,它或许能帮上忙
public static void main(String[] args) { //随便随机一个字 所以有可能是乱码 String random = RandomStringUtils.random(10); //在指定范围内随机 String randomChars = RandomStringUtils.random(3,'a','b','c','d','e'); //随便随机10个Ascii String randomAscii = RandomStringUtils.randomAscii(10); //注意这里不是5到10内随机,而是随机一个长度的数字 String randomNumeric = RandomStringUtils.randomNumeric(5,10); System.out.println(random); //?ᣒ?⍝?䆃ぬ System.out.println(randomChars); //dac System.out.println(randomAscii); //hpCQrtmUvi System.out.println(randomNumeric); //2580338 }
RandomUtils:这个不解释,如果你需要随机数字,用它吧。int、long、flort都是ok的
removeAll
removeFirst
removePattern
replaceAll
replaceFirst
SerializationUtils:对象的序列化工具。
在Json流行的时代,这个工具使用的几率就较小了。
clone:采用字节数组ByteArrayInputStream来拷贝一个一模一样的对象
serialize(final Serializable obj, final OutputStream outputStream) :可以把对象序列化到输出流里
byte[] serialize(final Serializable obj):直接序列化成字节数组
deserialize(final InputStream inputStream)、deserialize(final byte[] objectData)
SystemUtils:主要定义了一些系统底层的常量。比如类路径、操作系统、类型、java版本等等
StringUtils的使用:
参考我的另外一篇博文:【小家Java】common-lang3中StringUtils的使用详解