zoukankan      html  css  js  c++  java
  • commons-lang3相关类实例

    一.ArrayUtils

    //1.判断两个数组长度是否相等
        ArrayUtils.isSameLength(new int[] {1,2,3,4}, new int[] {1,2,3,4});//true
        
        //2.添加一个数据到数组
        int[] nums1 = ArrayUtils.add(new int[] {2,3,4,5}, 1);
        System.out.println("add:"+nums1.length);//5   {2,3,4,5,1}
        
        //3.合并两个数组
        int[] nums2 = ArrayUtils.addAll(new int[] {1,2,3,4}, new int[] {3,4,5,6});
        System.out.println("addAll:"+nums2.length);//8
        
        //4.拷贝数组
        int[] num3 =  ArrayUtils.clone(nums2);
        
        //5.查询某个Object是否在数组中
        boolean contains = ArrayUtils.contains(new int[]{1,2,3}, 1);//true
        
        //6.查询某个Object在数组中的位置,可以指定起始搜索位置,找不到返回-1
        int index1 = ArrayUtils.indexOf(new int[] { 1, 3, 6 }, 6);// 2
        
        int index2 = ArrayUtils.indexOf(new int[] { 1, 3, 6 }, 2);// -1
        
        //7.判断数组是否为空(null和length=0的时候都为空)
        boolean isEmpty = ArrayUtils.isEmpty(new int[] { 1, 3, 6 });//false
        
        // 8.1 两个数组完全相同
        ArrayUtils.isEquals(new int[] { 1, 2, 3 }, new int[] { 1, 2, 3 });// true
        
        // 8.2 数据类型以及长度相同,但各个Index上的数据不是一一对应
        ArrayUtils.isEquals(new int[] { 1, 3, 2 }, new int[] { 1, 2, 3 });// true
        
        // 8.3 数组的长度不一致
        ArrayUtils.isEquals(new int[] { 1, 2, 3, 3 }, new int[] { 1, 2, 3 });// false
        
        // 8.4 不同的数据类型
        ArrayUtils.isEquals(new int[] { 1, 2, 3 }, new long[] { 1, 2, 3 });// false
        ArrayUtils.isEquals(new Object[] { 1, 2, 3 }, new Object[] { 1, (long) 2, 3 });// false
        
        // 8.5 Null处理,如果输入的两个数组都为null时候则返回true
        ArrayUtils.isEquals(new int[] { 1, 2, 3 }, null);// false
        ArrayUtils.isEquals(null, null);// true
        
        //从逆序开始搜索,搜到就返回当前的index否则返回-1
        ArrayUtils.lastIndexOf(new int[] { 1, 3, 6 }, 6);// 2
                
        //删除数组中某个位置上的数据
        ArrayUtils.remove(new int[] { 1, 3, 5 }, 1);// {1,5}
        
        //删除数组中某个对象(从正序开始搜索,删除第一个)
        ArrayUtils.removeElement(new int[] { 1, 3, 5 }, 3);// {1,5}
        
        // 5.截取数组
        ArrayUtils.subarray(new int[] { 3, 4, 1, 5, 6 }, 2, 4);// {1,5}
        
        
        // 12.基本数据类型数组与外包型数据类型数组互转
        ArrayUtils.toObject(new int[] { 1, 2 });// new Integer[]{Integer,Integer}
        ArrayUtils.toPrimitive(new Integer[] { new Integer(1), new Integer(2) });// new int[]{1,2}
        
        //将一个数组转换成String,用于打印数组
        ArrayUtils.toString(new int[] { 1, 4, 2, 3 });// {1,4,2,3}
        

    二.Validate

    //判断结果是否为true,否则将抛出IllegalArgumentException异常
        try {
            Validate.isTrue(false);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        
    
        //判断一个值是否包含在指定的范围之内,否则会抛出IllegalArgumentException异常
        try {
            Validate.exclusiveBetween(1, 3, 4);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
        
        //判断一个类与另一个类的实例对象是否同一个类或接口的子类,或者类的信息相同,否则抛出IllagelArgumentException.
        try {
            Validate.isAssignableFrom(Map.class, List.class);
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }

    三.ClassUtis

    //获取类的简称 
        ClassUtils.getShortClassName(HashMap.class);//HashMap
        ClassUtils.getSimpleName(HashMap.class);//HashMap
        //获取所在包名称
        ClassUtils.getPackageName(HashMap.class);//java.util
        
        //获取所有父亲类集合  java.util.AbstractMap ,java.lang.Object
        List<Class<?>> list = ClassUtils.getAllSuperclasses(HashMap.class);
        
        //获取所有接口  java.util.Map ,java.lang.Cloneable ,java.io.Serializable
        ClassUtils.getAllInterfaces(HashMap.class);
        
        //类集合到字符串集合转换 java.util.AbstractMap ,java.lang.Object
        List<String> StringType = ClassUtils.convertClassesToClassNames(list);
        //字符串集合到类集合转换 java.util.AbstractMap ,java.lang.Object
        List<Class<?>> list2 = ClassUtils.convertClassNamesToClasses(StringType);
        
        try {
            Method m = ClassUtils.getPublicMethod(String.class, "getBytes", String.class);
            //public byte[] java.lang.String.getBytes(java.lang.String) throws java.io.UnsupportedEncodingException
            System.out.println(m.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }

    四.StringUtils

    //1. 检查字符串是否为空:
        //static boolean isBlank(CharSequence str) 判断字符串是否为空或null; 
        //static boolean isNotBlank(CharSequence str) 判断字符串是否非空或非null;
        StringUtils.isBlank("a b"); //false
        
        //2. 缩进字符串:
        //static String abbreviate(String str, int maxWidth) 缩进字符串,第二个参数至少为4(包括...)
        StringUtils.abbreviate("abcdefg", 20); //abcdefg (正常显示)
        StringUtils.abbreviate("abcdefg", 4); //a...
        
        //3. 首字母大写:
        //static String capitalize(String str) 首字母大写 
        //static String uncapitalize(String str)首字母小写
        StringUtils.capitalize("abcdefg"); //Abcdefg
        
        //4. 字符串显示在一个大字符串的位置:
        //static String center(String str, int size); 默认以空格填充 
        //static String center(String str, int size, String padString); 其余位置字符串填充 
        //public static String leftPad(String str,int size); 左侧空格填充 
        //public static String leftPad(String str,int size,String padStr);左侧字符串填充 
        //public static String rightPad(String str,int size); 左侧空格填充 
        //public static String rightPad(String str,int size,String padStr);左侧字符串填充 
        StringUtils.center("abcdefg", 20);//      abcdefg      
        StringUtils.center("abcdefg", 20,"*_"); //*_*_*_abcdefg*_*_*_*
        StringUtils.leftPad("abc", 10, "*"); //*******abc
        StringUtils.rightPad("abc", 10, "*");//abc*******
        
        //5. 重复字符串次数
        //static String repeat(String str, int repeat);
        StringUtils.repeat("abc", 5); //abcabcabcabcabc
        
        //6. 是否全是大写,是否全是小写(3.0版本)
        //public static boolean isAllLowerCase(String str); 
        //public static boolean isAllUpperCase(String str);
        StringUtils.isAllLowerCase("abC"); //false
        
        //7. 是否都是由字母组成:
        //public static boolean isAlpha(String str); 只由字母组成 
        //public static boolean isAlphaSpace(String str); 只有字母和空格组成 
        //public static boolean isAlphanumeric(String str);只由字母和数字组成 
        //public static boolean isAlphanumericSpace(String str);只由字母数字和空格组成 
        //public static boolean isNumeric(String str);只由数字组成 
        //public static boolean isNumericSpace(String str);只由数字和空格组成
        StringUtils.isAlpha("a2bdefg"); //false
        
        
        //8. 小字符串在大字符串中的匹配次数
        //public static int countMatches(String str,String sub);
        StringUtils.countMatches("ababsssababa", "ab"); //4
        
        //9. 字符串倒转
        //public static String reverse(String str);
        StringUtils.reverse("abcdef"); //fedcba
        
        //10. 大小写转换,空格不动 
        //public static String swapCase(String str);
        StringUtils.swapCase("I am a-A*a"); //i AM A-a*A
        

    五.RandomStringUtils

    //public static String randomAscii(final int count)
    String s1 = RandomStringUtils.randomAscii(4);//g!<D

    //public static String randomNumeric(final int count)
    String s2 = RandomStringUtils.randomNumeric(4);//2558

    //public static String random(final int count, final String chars)
    String s3 = RandomStringUtils.random(4, "abcdefg");//debe

    //public static String random(final int count, final boolean letters, final boolean numbers)
    String s4 = RandomStringUtils.random(4, false, true);//4105

  • 相关阅读:
    docker安装rabbitmq
    ios 崩溃日志揭秘
    Ubuntu apache2下建立django开发环境
    Ubuntu tomcat
    MySQLdb插入后获得插入id
    使用终端实现DMG、ISO格式互转
    ios学习笔记:jison(转)
    ios开发应用内实现多语言自由切换 (转)
    获取项目的名称及版本号
    工具收集
  • 原文地址:https://www.cnblogs.com/zcjyzh/p/9504879.html
Copyright © 2011-2022 走看看