java commons lang_Apache Commons Lang包的常用方法总结

[java]代码库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 ("

") );

System.out.println ("html:" + StringEscapeUtils.unescapeHtml4 ("

") );

}

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 + " ", 50, "^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 = "ghj\nui\tpo";

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();

}

}

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
commons-lang3.3.1.jar、Apache Commons中的一个,含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar。为JRE5.0+的更好的版本所提供 Jar文件含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE.txtMETA-INF/NOTICE.txtorg.apache.commons.lang.ArrayUtils.class org.apache.commons.lang.BitField.class org.apache.commons.lang.BooleanUtils.class org.apache.commons.lang.CharEncoding.class org.apache.commons.lang.CharRange.class org.apache.commons.lang.CharSet.class org.apache.commons.lang.CharSetUtils.class org.apache.commons.lang.CharUtils.class org.apache.commons.lang.ClassUtils.class org.apache.commons.lang.Entities$ArrayEntityMap.class org.apache.commons.lang.Entities$BinaryEntityMap.class org.apache.commons.lang.Entities$EntityMap.class org.apache.commons.lang.Entities$HashEntityMap.class org.apache.commons.lang.Entities$LookupEntityMap.class org.apache.commons.lang.Entities$MapIntMap.class org.apache.commons.lang.Entities$PrimitiveEntityMap.class org.apache.commons.lang.Entities$TreeEntityMap.class org.apache.commons.lang.Entities.class org.apache.commons.lang.IllegalClassException.class org.apache.commons.lang.IncompleteArgumentException.class org.apache.commons.lang.IntHashMap$Entry.class org.apache.commons.lang.IntHashMap.class org.apache.commons.lang.LocaleUtils.class org.apache.commons.lang.NotImplementedException.class org.apache.commons.lang.NullArgumentException.class org.apache.commons.lang.NumberRange.class org.apache.commons.lang.NumberUtils.class org.apache.commons.lang.ObjectUtils$Null.class org.apache.commons.lang.ObjectUtils.class org.apache.commons.lang.RandomStringUtils.class org.apache.commons.lang.SerializationException.class org.apache.commons.lang.SerializationUtils.class org.apache.commons.lang.StringEscapeUtils.class org.apache.commons.lang.StringUtils.class org.apache.commons.lang.SystemUtils.class org.apache.commons.lang.UnhandledException.class org.apache.commons.lang.Validate.class org.apache.commons.lang.WordUtils.class org.apache.commons.lang.builder.CompareToBuilder.class org.apache.commons.lang.builder.EqualsBuilder.class org.apache.commons.lang.builder.HashCodeBuilder.class org.apache.commons.lang.builder.ReflectionToStringBuilder$1.class org.apache.commons.lang.builder.ReflectionToStringBuilder.class org.apache.commons.lang.builder.StandardToStringStyle.class org.apache.commons.lang.builder.ToStringBuilder.class org.apache.commons.lang.builder.ToStringStyle$DefaultToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$MultiLineToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$NoFieldNameToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$ShortPrefixToStringStyle.class org.apache.commons.lang.builder.ToStringStyle$SimpleToStringStyle.class org.apache.commons.lang.builder.ToStringStyle.class org.apache.commons.lang.enum.Enum$Entry.class org.apache.commons.lang.enum.Enum.class org.apache.commons.lang.enum.EnumUtils.class org.apache.commons.lang.enum.ValuedEnum.class org.apache.commons.lang.enums.Enum$Entry.class org.apache.commons.lang.enums.Enum.class org.apache.commons.lang.enums.EnumUtils.class org.apache.commons.lang.enums.ValuedEnum.class org.apache.commons.lang.exception.ExceptionUtils.class org.apache.commons.lang.exception.Nestable.class org.apache.commons.lang.exception.NestableDelegate.class org.apache.commons.lang.exception.NestableError.class org.apache.commons.lang.exception.NestableException.class org.apache.commons.lang.exception.NestableRuntimeException.class org.apache.commons.lang.math.DoubleRange.class org.apache.commons.lang.math.FloatRange.class org.apache.commons.lang.math.Fraction.class org.apache.commons.lang.math.IntRange.class org.apache.commons.lang.math.JVMRandom.class org.apache.commons.lang.math.LongRange.class org.apache.commons.lang.math.NumberRange.class org.apache.commons.lang.math.NumberUtils.class org.apache.commons.lang.math.RandomUtils.class org.apache.commons.lang.math.Range.class org.apache.commons.lang.mutable.Mutable.class org.apache.commons.lang.mutable.MutableBoolean.class org.apache.commons.lang.mutable.MutableByte.class org.apache.commons.lang.mutable.MutableDouble.class org.apache.commons.lang.mutable.MutableFloat.class org.apache.commons.lang.mutable.MutableInt.class org.apache.commons.lang.mutable.MutableLong.class org.apache.commons.lang.mutable.MutableObject.class org.apache.commons.lang.mutable.MutableShort.class org.apache.commons.lang.text.CompositeFormat.class org.apache.commons.lang.text.StrBuilder$StrBuilderReader.class org.apache.commons.lang.text.StrBuilder$StrBuilderTokenizer.class org.apache.commons.lang.text.StrBuilder$StrBuilderWriter.class org.apache.commons.lang.text.StrBuilder.class org.apache.commons.lang.text.StrLookup$MapStrLookup.class org.apache.commons.lang.text.StrLookup.class org.apache.commons.lang.text.StrMatcher$CharMatcher.class org.apache.commons.lang.text.StrMatcher$CharSetMatcher.class org.apache.commons.lang.text.StrMatcher$NoMatcher.class org.apache.commons.lang.text.StrMatcher$StringMatcher.class org.apache.commons.lang.text.StrMatcher$TrimMatcher.class org.apache.commons.lang.text.StrMatcher.class org.apache.commons.lang.text.StrSubstitutor.class org.apache.commons.lang.text.StrTokenizer.class org.apache.commons.lang.time.DateFormatUtils.class org.apache.commons.lang.time.DateUtils$DateIterator.class org.apache.commons.lang.time.DateUtils.class org.apache.commons.lang.time.DurationFormatUtils$Token.class org.apache.commons.lang.time.DurationFormatUtils.class org.apache.commons.lang.time.FastDateFormat$CharacterLiteral.class org.apache.commons.lang.time.FastDateFormat$NumberRule.class org.apache.commons.lang.time.FastDateFormat$PaddedNumberField.class org.apache.commons.lang.time.FastDateFormat$Pair.class org.apache.commons.lang.time.FastDateFormat$Rule.class org.apache.commons.lang.time.FastDateFormat$StringLiteral.class org.apache.commons.lang.time.FastDateFormat$TextField.class org.apache.commons.lang.time.FastDateFormat$TimeZoneDisplayKey.class org.apache.commons.lang.time.FastDateFormat$TimeZoneNameRule.class org.apache.commons.lang.time.FastDateFormat$TimeZoneNumberRule.class org.apache.commons.lang.time.FastDateFormat$TwelveHourField.class org.apache.commons.lang.time.FastDateFormat$TwentyFourHourField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitMonthField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitNumberField.class org.apache.commons.lang.time.FastDateFormat$TwoDigitYearField.class org.apache.commons.lang.time.FastDateFormat$UnpaddedMonthField.class org.apache.commons.lang.time.FastDateFormat$UnpaddedNumberField.class org.apache.commons.lang.time.FastDateFormat.class org.apache.commons.lang.time.StopWatch.class

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值