1. 程式人生 > >commons-lang3相關類實例

commons-lang3相關類實例

numbers ebe alpha rev 正常 leg int har supported

一.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

commons-lang3相關類實例