Apache Commons Lang包的常用方法总结
发布时间:2020-12-15 00:12:28 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOExc
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import java.util.Date; import java.util.Iterator; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.CharSet; import org.apache.commons.lang3.CharSetUtils; import org.apache.commons.lang3.ClassUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.SerializationUtils; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.SystemUtils; import org.apache.commons.lang3.Validate; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.text.WordUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.StopWatch; /*转自霸气的小码农的博客*/ public class TestLangDemo { public void charSetDemo() { System.out.println ("**CharSetDemo**"); CharSet charSet = CharSet.getInstance ("aeiou"); String demoStr = "The quick brown fox jumps over the lazy dog."; int count = 0; for (int i = 0,len = demoStr.length(); i < len; i++) { if (charSet.contains (demoStr.charAt (i) ) ) { count++; } } System.out.println ("count: " + count); } public void charSetUtilsDemo() { System.out.println ("**CharSetUtilsDemo**"); System.out.println ("计算字符串中包含某字符数."); System.out.println (CharSetUtils.count ( "The quick brown fox jumps over the lazy dog.","aeiou") ); System.out.println ("删除字符串中某字符."); System.out.println (CharSetUtils.delete ( "The quick brown fox jumps over the lazy dog.","aeiou") ); System.out.println ("保留字符串中某字符."); System.out.println (CharSetUtils.keep ( "The quick brown fox jumps over the lazy dog.","aeiou") ); System.out.println ("合并重复的字符."); System.out.println (CharSetUtils.squeeze ("a bbbbbb c dd","b d") ); } 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) ); } public void stringUtilsDemo() { System.out.println ("**StringUtilsDemo**"); System.out.println ("将字符串重复n次,将文字按某宽度居中,将字符串数组用某字符串连接."); String[] header = new String[3]; header[0] = StringUtils.repeat ("*",50); header[1] = StringUtils.center (" StringUtilsDemo ",50,"^O^"); header[2] = header[0]; String head = StringUtils.join (header,"n"); System.out.println (head); System.out.println ("缩短到某长度,用...结尾."); System.out.println (StringUtils.abbreviate ( "The quick brown fox jumps over the lazy dog.",10) ); System.out.println (StringUtils.abbreviate ( "The quick brown fox jumps over the lazy dog.",15,10) ); System.out.println ("返回两字符串不同处索引号."); System.out.println (StringUtils.indexOfDifference ("aaabc","aaacc") ); System.out.println ("返回两字符串不同处开始至结束."); System.out.println (StringUtils.difference ("aaabcde","aaaccde") ); System.out.println ("截去字符串为以指定字符串结尾的部分."); System.out.println (StringUtils.chomp ("aaabcde","de") ); System.out.println ("检查一字符串是否为另一字符串的子集."); System.out.println (StringUtils.containsOnly ("aad","aadd") ); System.out.println ("检查一字符串是否不是另一字符串的子集."); System.out.println (StringUtils.containsNone ("defg","aadd") ); System.out.println ("检查一字符串是否包含另一字符串."); System.out.println (StringUtils.contains ("defg","ef") ); System.out.println (StringUtils.containsOnly ("ef","defg") ); System.out.println ("返回可以处理null的toString()."); System.out.println (StringUtils.defaultString ("aaaa") ); System.out.println ("?" + StringUtils.defaultString (null) + "!"); System.out.println ("去除字符中的空格."); System.out.println (StringUtils.deleteWhitespace ("aa bb cc") ); System.out.println ("分隔符处理成数组."); String[] strArray = StringUtils.split ("a,b,c,d,null,e",","); System.out.println (strArray.length); System.out.println (strArray.toString() ); System.out.println ("判断是否是某类字符."); System.out.println (StringUtils.isAlpha ("ab") ); System.out.println (StringUtils.isAlphanumeric ("12") ); System.out.println (StringUtils.isBlank ("") ); System.out.println (StringUtils.isNumeric ("123") ); } public void systemUtilsDemo() { System.out.println (genHeader ("SystemUtilsDemo") ); System.out.println ("获得系统文件分隔符."); System.out.println (SystemUtils.FILE_SEPARATOR); System.out.println ("获得源文件编码."); System.out.println (SystemUtils.FILE_ENCODING); System.out.println ("获得ext目录."); System.out.println (SystemUtils.JAVA_EXT_DIRS); System.out.println ("获得java版本."); System.out.println (SystemUtils.JAVA_VM_VERSION); System.out.println ("获得java厂商."); System.out.println (SystemUtils.JAVA_VENDOR); } 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 stringEscapeUtilsDemo() { System.out.println (genHeader ("StringEcsapeUtils") ); System.out.println ("转换特殊字符."); System.out.println ("html:" + StringEscapeUtils.escapeHtml3 (" ") ); System.out.println ("html:" + StringEscapeUtils.escapeHtml4 (" ") ); System.out.println ("html:" + StringEscapeUtils.unescapeHtml3 ("<p>") ); System.out.println ("html:" + StringEscapeUtils.unescapeHtml4 ("<p>") ); } private final class BuildDemo { String name; int age; public BuildDemo (String name,int age) { this.name = name; this.age = age; } public String toString() { ToStringBuilder tsb = new ToStringBuilder (this,ToStringStyle.MULTI_LINE_STYLE); tsb.append ("Name",name); tsb.append ("Age",age); return tsb.toString(); } public int hashCode() { HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append (name); hcb.append (age); return hcb.hashCode(); } public boolean equals (Object obj) { if (! (obj instanceof BuildDemo) ) { return false; } BuildDemo bd = (BuildDemo) obj; EqualsBuilder eb = new EqualsBuilder(); eb.append (name,bd.name); eb.append (age,bd.age); return eb.isEquals(); } } public void builderDemo() { System.out.println (genHeader ("BuilderDemo") ); BuildDemo obj1 = new BuildDemo ("a",1); BuildDemo obj2 = new BuildDemo ("b",2); BuildDemo obj3 = new BuildDemo ("a",1); System.out.println ("toString()"); System.out.println (obj1); System.out.println (obj2); System.out.println (obj3); System.out.println ("hashCode()"); System.out.println (obj1.hashCode() ); System.out.println (obj2.hashCode() ); System.out.println (obj3.hashCode() ); System.out.println ("equals()"); System.out.println (obj1.equals (obj2) ); System.out.println (obj1.equals (obj3) ); } public void numberUtils() { System.out.println (genHeader ("NumberUtils") ); System.out.println ("字符串转为数字(不知道有什么用)."); System.out.println (NumberUtils.toInt ("ba",33) ); 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") ); } public void dateFormatUtilsDemo() { System.out.println (genHeader ("DateFormatUtilsDemo") ); System.out.println ("格式化日期输出."); System.out.println (DateFormatUtils.format (System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss") ); System.out.println ("秒表."); StopWatch sw = new StopWatch(); sw.start(); for (Iterator iterator = DateUtils.iterator (new Date(),DateUtils.RANGE_WEEK_CENTER); iterator.hasNext();) { Calendar cal = (Calendar) iterator.next(); System.out.println (DateFormatUtils.format (cal.getTime(),"yy-MM-dd HH:mm") ); } sw.stop(); System.out.println ("秒表计时:" + sw.getTime() ); } private String genHeader (String head) { String[] header = new String[3]; header[0] = StringUtils.repeat ("*",50); header[1] = StringUtils.center (" " + head + " ","^O^"); header[2] = header[0]; return StringUtils.join (header,"n"); } private void validateDemo() { String[] strarray = {"a","b","c"}; System.out.println ("验证功能"); System.out.println (Validate.notEmpty (strarray) ); } private void wordUtilsDemo() { System.out.println ("单词处理功能"); String str1 = "wOrD"; String str2 = "ghjnuitpo"; System.out.println (WordUtils.capitalize (str1) ); //首字母大写 System.out.println (WordUtils.capitalizeFully (str1) ); //首字母大写其它字母小写 char[] ctrg = {'.'}; System.out.println (WordUtils.capitalizeFully ("i aM.fine",ctrg) ); //在规则地方转换 System.out.println (WordUtils.initials (str1) ); //获取首字母 System.out.println (WordUtils.initials ("Ben John Lee",null) ); //取每个单词的首字母 char[] ctr = {' ','.'}; System.out.println (WordUtils.initials ("Ben J.Lee",ctr) ); //按指定规则获取首字母 System.out.println (WordUtils.swapCase (str1) ); //大小写逆转 System.out.println (WordUtils.wrap (str2,1) ); //解析n和t等字符 } /** * @param args */ public static void main (String[] args) { TestLangDemo langDemo = new TestLangDemo(); langDemo.charSetDemo(); langDemo.charSetUtilsDemo(); langDemo.objectUtilsDemo(); langDemo.serializationUtilsDemo(); langDemo.randomStringUtilsDemo(); langDemo.stringUtilsDemo(); langDemo.systemUtilsDemo(); langDemo.classUtilsDemo(); langDemo.stringEscapeUtilsDemo(); langDemo.builderDemo(); langDemo.numberUtils(); langDemo.dateFormatUtilsDemo(); langDemo.validateDemo(); langDemo.wordUtilsDemo(); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |