接上一篇 五、对象工具类: /* * 对象工具类 */ public void objectUtilsDemo() { System.out.println("**ObjectUtilsDemo**"); System.out.println("Object为null时,默认打印某字符."); Object obj = null; System.out.println(ObjectUtils.defaultIfNull(obj, "空")); System.out.println("验证两个引用是否指向的Object是否相等,取决于Object的equals()方法."); Object a = new Object(); Object b = a; Object c = new Object(); System.out.println(ObjectUtils.equals(a, b)); System.out.println(ObjectUtils.equals(a, c)); System.out.println("用父类Object的toString()方法返回对象信息."); Date date = new Date(); System.out.println(ObjectUtils.identityToString(date)); System.out.println(date); System.out.println("返回类本身的toString()方法结果,对象为null时,返回0长度字符串."); System.out.println(ObjectUtils.toString(date)); System.out.println(ObjectUtils.toString(null)); System.out.println(date); } 六、序列化工具类: /* * 序列化工具类 */ public void serializationUtilsDemo() { System.out.println("*SerializationUtils**"); Date date = new Date(); //序列化成一个字节数组 byte[] bytes = SerializationUtils.serialize(date); System.out.println(ArrayUtils.toString(bytes)); System.out.println(date); //反序列化成对象 Date reDate = (Date) SerializationUtils.deserialize(bytes); System.out.println(reDate); //值相等 System.out.println(ObjectUtils.equals(date, reDate)); //但不是同一个对象 System.out.println(date == reDate); FileOutputStream fos = null; FileInputStream fis = null; try { fos = new FileOutputStream(new File("d:/test.txt")); fis = new FileInputStream(new File("d:/test.txt")); //将对象序列化后写到文件中 SerializationUtils.serialize(date, fos); //从文件中读出对象 Date reDate2 = (Date) SerializationUtils.deserialize(fis); System.out.println(date.equals(reDate2)); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { fos.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } } } 七、随机字符串类 /* * 随机字符串类 */ public void randomStringUtilsDemo() { System.out.println("**RandomStringUtilsDemo**"); System.out.println("生成指定长度的随机字符串"); System.out.println(RandomStringUtils.random(500)); System.out.println("在指定字符串中生成长度为n的随机字符串."); System.out.println(RandomStringUtils.random(5, "abcdefghijk")); System.out.println("指定从字符或数字中生成随机字符串(验证码可以用)."); System.out.println(RandomStringUtils.random(5, true, false)); System.out.println(RandomStringUtils.random(5, false, true)); System.out.println(RandomStringUtils.random(5, true, true)); } 八、类工具类 /* * 类工具类 */ public void classUtilsDemo() { System.out.println(genHeader("ClassUtilsDemo")); System.out.println("获取类实现的所有接口."); System.out.println(ClassUtils.getAllInterfaces(Date.class)); System.out.println("获取类所有父类."); System.out.println(ClassUtils.getAllSuperclasses(Date.class)); System.out.println("获取简单类名."); System.out.println(ClassUtils.getShortClassName(Date.class)); System.out.println("获取包名."); System.out.println(ClassUtils.getPackageName(Date.class)); System.out.println("判断是否可以转型."); System.out.println(ClassUtils.isAssignable(Date.class, Object.class)); System.out.println(ClassUtils.isAssignable(Object.class, Date.class)); } 九、数值工具 /* * 数值工具 */ public void numberUtils() { System.out.println(genHeader("NumberUtils")); System.out.println("字符串转为数字,不能转的为0"); System.out.println(NumberUtils.toInt("35")); System.out.println("从数组中选出最大值."); System.out.println(NumberUtils.max(new int[] { 1, 2, 3, 4 })); System.out.println("判断字符串是否全是整数."); System.out.println(NumberUtils.isDigits("123.1")); System.out.println("判断字符串是否是有效数字."); System.out.println(NumberUtils.isNumber("0123.1")); }