1. 程式人生 > >commons-lang工具類用法

commons-lang工具類用法

/*1.字串以prefix開始*/
StringUtils.startsWith("sssdf","");//結果是:true
StringUtils.startsWith("sssdf","");//結果是:true
StringUtils.startsWith("sssdf","s");//結果是:true
StringUtils.startsWith("sssdf","ss");//結果是:true
StringUtils.startsWith("sssdf","sss");//結果是:true
StringUtils.startsWith("sssdf","sssdf");//結果是:true
StringUtils.startsWith("sssdf","f");//結果是:false
StringUtils.startsWith("sssdf","sssdf");//結果是:true


/*2.字串以prefix開始,不區分大小寫*/
StringUtils.startsWithIgnoreCase("sssdf","Sssdf");//結果是:true


/*3.字串以陣列中的字串開始*/
StringUtils.startsWithAny("aabcde",newString[]{"g","f"});//結果是:false
StringUtils.startsWithAny("aabcde",newString[]{"g","a"});//結果是:true


/*4.字串以suffix結束*/
StringUtils.endsWith("aabcde","d");//結果是:false
StringUtils.endsWith("aabcde","e");//結果是:false
StringUtils.endsWithIgnoreCase("","");//結果是:false


/*5.替換字串:把text中的searchString替換成replacement,max是最大替換次數,預設是替換所有*/
StringUtils.replaceOnce("sshhhss","ss","p");//只替換一次-->結果是:phhhss
StringUtils.replace("sshhhs","ss","p");//全部替換--->結果是:phhhs
StringUtils.replace("sshhhsshss","ss","7777",2);//max:最大替換次數-->結果是:7777hhh7777hss
StringUtils.replaceChars("sshhhs","ss","p");//替換所有字元,區別於replace--->結果是:pphhhp而不是pphhhs


/*6.按照陣列進行替換,位置要匹配,陣列長度要相等;暫時沒發現下面replaceEach和replaceEachRepeatedly二者的區別*/
StringUtils.replaceEach("www.baidu.com",newString[]{"baidu","com"},newString[]{"taobao","net"});//結果是:www.taobao.net
StringUtils.replaceEach("www.baidu,baidu.com",newString[]{"baidu","com"},newString[]{"taobao","net"});//結果是:www.taobao,taobao.net
StringUtils.replaceEachRepeatedly("www.baidu.com",newString[]{"baidu","com"},newString[]{"taobao","net"});//結果是:www.taobao.net


/*7.比較兩個字串是否相等,如果兩個均為null,則也認為相等*/
StringUtils.equals("","");//結果是true
StringUtils.equals(null,null);//結果是true
StringUtils.equals("",null);//結果是false
StringUtils.equals(null,"");//結果是false
StringUtils.equalsIgnoreCase("ss","Ss");//不區分大小寫--結果是true




/*8.返回searchChar在字串中第一次出現的位置,如果searchChar沒有在字串中出現,則返回-1*/
StringUtils.indexOf("sdfsfsfdsf","4");/*結果是-1*/
StringUtils.indexOf("sdfsfsfdsf","f");/*結果是2*/


//查詢searchChar在字串中最後一次出現的索引*/
StringUtils.lastIndexOf("aFkyk","k");//結果是4
StringUtils.lastIndexOf("aFkyk","");//結果是1


/*9.找出字元陣列searChars第一次出現在字串中的位置*/
StringUtils.indexOfAny("sdsfhhl0","f");//結果是3
StringUtils.indexOfAny("sdsfhhl0",newString[]{"f","0"});//結果是3
StringUtils.indexOfAny("sdsfhhl0",newString[]{"t","j"});//結果是-1
StringUtils.indexOfAny("sdsfhhl0",newString[]{"t","j",""});//結果是3
StringUtils.lastIndexOfAny("aFkyk",newString[]{"aFkyk","k"});//找出字元陣列searChars最後一次出現在字串中的位置--結果是5




/*10.找出字串中不在字元陣列searchars中的第一個字元出現的位置(從0位開始)
*如果都在,返回-1
**/
StringUtils.indexOfAnyBut("sdsfhhl0","h");//結果是0
StringUtils.indexOfAnyBut("sdsfhhl0","s");//結果是1
StringUtils.indexOfAnyBut("aa","aa");//結果是-1


/*11.統計引數1和引數2開始部分共有的字元個數*/
StringUtils.indexOfDifference("sdsfdsf","s");//結果是1
StringUtils.indexOfDifference(newString[]{"sdsfdsf","s"});//結果是1


/*12.去掉引數2在引數1開始部分共有的字串*/
StringUtils.difference("灌灌灌灌","灌灌灌灌啊啊");//結果是:啊啊


/*13.查詢,不區分大小寫,沒有找到返回-1*/
StringUtils.indexOfIgnoreCase("aFabbSSdd","f");//返回1
StringUtils.indexOfIgnoreCase("aFabbSSdd","f",2);//從指定位置開始查詢,不區分大小寫--返回-1
StringUtils.indexOfIgnoreCase("aFabbSSdd","f",1);//返回1
StringUtils.lastIndexOfIgnoreCase("","");
StringUtils.lastIndexOfIgnoreCase("","",2);


/*14.擷取指定位置的字串*/
StringUtils.substring("dskabcee",3);
/*結果是:abcee*/


StringUtils.substring("dskabcee",3,5);
/*結果是:ab*/


/*15.擷取指定字串之前的內容*/
StringUtils.substringBefore("dskeabcee","e");
/*結果是:dskeabce*/


StringUtils.substringBeforeLast("dskeabcee","e");//一直找到最後一個指定的字串
/*結果是:dskeabce*/


StringUtils.substringAfter("dskeabcedeh","");
/*結果是:dskeabcedeh*/


StringUtils.substringAfterLast("dskeabcedeh","");
/*結果是:*/


/*16.擷取引數2和引數3中間的字元*/
StringUtils.substringBetween("dskeabcedeh","ds");
/*結果是:null*/
StringUtils.substringBetween("dskeabcedeh","ds","e");
/*結果是:k*/
StringUtils.substringsBetween("dskeabcedeh","ds","e");//以陣列方式返回引數2和引數3中間的字串
/*結果是:[keabce]*/


/*1.分割字串,可以設定得到陣列的長度,但一般情況下不要設定,這樣會發生衝突*/
StringUtils.split("y5y,4454,545");//預設是按,來分割
StringUtils.split("aaaa#sss","#");
/*結果是:[aaaa,sss]*/


StringUtils.split("aaaa#sss#","#",2);


/*2.按不同型別進行分割字串*/
StringUtils.splitByCharacterType("aa3444張三Bcss");
/*結果是:[aa,3444,張三,a,B,css,B]*/


StringUtils.splitByCharacterTypeCamelCase("");
/*結果是:[aa,3444,張三,a,Bcss,B]*/


/*3.分割字串,""不會被忽略,可以設定分割字串的陣列長度*/
StringUtils.splitByWholeSeparator("aaaa#sss#","#");//""不會被忽略
/*結果是:[aaaa,sss,]StringUtils.split結果是:[aaaa,sss]*/


StringUtils.splitByWholeSeparator("aaaa#sss#ggg","#");//
/*結果是:[aaaa,sss,ggg]*/


StringUtils.splitByWholeSeparator("aaaa#sss#ggg","");//按空格分割
/*結果是:[aaaa#,sss#ggg]*/


StringUtils.splitByWholeSeparator("aaaa#sss#","#",2);//2設定返回陣列的最大長度
/*結果是:[aaaa,sss#]*/


/*4.分割字串,""不會被忽略,可以設定分割字串的陣列長度*/
StringUtils.splitByWholeSeparatorPreserveAllTokens("sddssfsfasfsaf",null);
/*結果是:[sddssf,sfasfsaf,]*/


StringUtils.splitByWholeSeparatorPreserveAllTokens("sddssfsfasfsaf","");
/*結果是:[sddssf,sfasfsaf,]*/


/*5.同上*/
StringUtils.splitPreserveAllTokens("");
StringUtils.splitPreserveAllTokens("","");
StringUtils.splitPreserveAllTokens("","",3);

//產生5位長度的隨機字串,中文環境下是亂碼
RandomStringUtils.random(5);


//使用指定的字元生成5位長度的隨機字串
RandomStringUtils.random(5, new char[]{'a','b','c','d','e','f', '1', '2', '3'});


//生成指定長度的字母和數字的隨機組合字串
RandomStringUtils.randomAlphanumeric(5);


//生成隨機數字字串
RandomStringUtils.randomNumeric(5);


//生成隨機[a-z]字串,包含大小寫
RandomStringUtils.randomAlphabetic(5);


//生成從ASCII 32到126組成的隨機字串 
RandomStringUtils.randomAscii(4)

三、NumberUtils工具類

/*1.NumberUtils.isNumber():判斷字串是否是數字*/
NumberUtils.isNumber("5.96");//結果是true
NumberUtils.isNumber("s5");//結果是false
NumberUtils.isNumber("0000000000596");//結果是true

/*2.NumberUtils.isDigits():判斷字串中是否全為數字*/
NumberUtils.isDigits("0000000000.596");//false
NumberUtils.isDigits("0000000000596");//true

/*3.NumberUtils.toInt():字串轉換為整數*/
NumberUtils.toInt(
"5"); NumberUtils.toLong("5"); NumberUtils.toByte("3"); NumberUtils.toFloat("3.2"); NumberUtils.toDouble("4"); NumberUtils.toShort("3"); /*4.NumberUtils.max():找出最大的一個*/ NumberUtils.max(newint[]{3,5,6});//結果是6 NumberUtils.max(3,1,7);//結果是7 /*5.NumberUtils.min():找出最小的一個*/ NumberUtils.min(newint[]{3,5,6});//結果是6 NumberUtils.min(3,1,7);//結果是7 /*6.NumberUtils.createBigDecimal()通過字串建立BigDecimal型別,支援long、int、float、double、number等數值*/ NumberUtils.createBigDecimal("1"); NumberUtils.createLong("1"); NumberUtils.createInteger("1");

四、ArrayUtils工具類

/*1.ArrayUtils.isEmpty(strs):判斷陣列是否為空, 不為空返回false, 為空true*/ ArrayUtils.isEmpty(new String[]{"21","是"});//結果是false ArrayUtils.isEmpty(new String[]{""});//結果是false ArrayUtils.isEmpty(new String[]{null});//結果是false ArrayUtils.isEmpty(new String[]{});//結果是true /*2.ArrayUtils.isNotEmpty(strs):判斷陣列是否不為空,不為空返回true,為空false*/ ArrayUtils.isNotEmpty(new String[]{"21","是"});//結果是true ArrayUtils.isNotEmpty(new String[]{""});//結果是true ArrayUtils.isNotEmpty(new String[]{});//結果是false /*3.ArrayUtils.isSameLength(strs,strs2):判斷兩個陣列長度是否相等,長度相等返回true,否則返回false。相比較的兩個陣列型別必須相同*/ ArrayUtils.isSameLength(new String[]{"21","是"},new String[]{"21","是"});//返回false /*4.ArrayUtils.isSameType(strs,strs2):判斷兩個陣列的型別是否相同,相同返回true,否則返回false*/ ArrayUtils.isSameType(new String[]{"21","是"},newInteger[]{3}); /*5.ArrayUtils.isEquals(strs,strs2)判斷兩個陣列是否相等*/ ArrayUtils.isEquals(strs,strs);//結果是true /*6.ArrayUtils.toString()將一個數組轉換成String,用於列印*/ ArrayUtils.toString(new String[]{"21","是"});//結果是:{21,是} /*7.ArrayUtils.clone賦值(克隆)陣列*/ Object[]s=ArrayUtils.clone(newObject[]{"33","yy"}); /*8.ArrayUtils.subarray擷取子陣列:根據起始索引startIndexInclusive到結束索引startIndexInclusive*/ Object[]s1=ArrayUtils.subarray(newObject[]{"33","yy","uu"},0,1);//結果是返回陣列:[33] Object[]s2=ArrayUtils.subarray(newObject[]{"33","yy","uu"},0,2);//結果是返回陣列:[33,yy] /*9.ArrayUtils.indexOf查詢某個object在陣列中的位置,可是指定起始搜尋位置*/ intindex=ArrayUtils.indexOf(newObject[]{"33","yy","uu"},"uu");//結果是2 intindex1=ArrayUtils.indexOf(newObject[]{"33","yy","uu"},"uu",2);//結果是2 intindex3=ArrayUtils.indexOf(newObject[]{"33","yy","uu"},"uu",3);//結果是-1 /*10.ArrayUtils.lastIndexOf反向查詢某個object在陣列中的位置,可以指定起始搜尋位置*/ intindex11=ArrayUtils.lastIndexOf(newObject[]{"33","yy","uu"},"33");//結果是0 intindex22=ArrayUtils.lastIndexOf(newObject[]{"33","yy","uu"},"33",2); /*11.ArrayUtils.contains查詢某個object是否在陣列中*/ ArrayUtils.contains(new String[]{"1", "2", "3"}, "11"); /*12.ArrayUtils.reverse反轉陣列*/ ArrayUtils.reverse(new String[]{"22","yy"});//結果是:{"yy","22"} /*13.ArrayUtils.add新增一object到陣列*/ String[] t={"22","yy"}; String[] gg=(String[])ArrayUtils.add(t,"jj");//{"22","yy","jj"} /*14.ArrayUtils.addAll合併兩個陣列*/ String[]ggo=(String[])ArrayUtils.addAll(new String[]{"22","yy"},new String[]{"jj"});//結果是:[22,yy,jj] ArrayUtils.addAll(new String[]{"22","yy"},new String[]{"jj", "jj"}); //結果是:[22,yy,jj,jj] /*15.ArrayUtils.remove刪除陣列某個位置的元素*/ String[]gg4=(String[])ArrayUtils.remove(new String[]{"22","yy"},1); /*16.ArrayUtils.removeElement刪除陣列中某個物件*/ String[]ggpp=(String[])ArrayUtils.removeElement(new String[]{"22","yy"},"yy");