关于apache-commons的学习笔记 (一lang包下常用的工具)



本文只是个人笔记
测试ReflectionToStringBuilder中的toString()方法,实际上是重写了对象的toString方法
@Override
    public String toString() {
     return ReflectionToStringBuilder.toString( this );
 }

PoliticalCandidate candidate = new PoliticalCandidate( "Jefferson", "Thomas", dob, moneyRaised );
 
  System.out.println( candidate );

输出的内容:testCommonsLang.PoliticalCandidate@9506dc4[lastName=Jefferson,firstName=Thomas,dateOfBirth=Sat Apr 13 14:55:51 CST 1743,moneyRaised=293829292.930000007152557373046875]

//测试builder下面的HashCodeBuilder,EqualsBuilder,CompareToBuilder自动生成的方法
 //CompareToBuilder.reflectionCompare()这个方法比较对象中的属性是否相等,相等则返回0.否则返回其他值就是不相等。
 EqualsBuilder.reflectionEquals()是直接通过反射来判断对象中的内容是否相等
   public int compareTo(Object obj) {
        return CompareToBuilder.reflectionCompare(this, obj);
    }

 @Override
    public boolean equals(Object o) {
  return EqualsBuilder.reflectionEquals(this, o);
 }

PoliticalCandidate candidate1 = new PoliticalCandidate( "Jefferson", "Thomas", dob, moneyRaised );
  PoliticalCandidate candidate2 = new PoliticalCandidate( "Jefferson", "Thomas", dob, moneyRaised );

System.out.println(candidate1.compareTo(candidate2));      输出:0
System.out.println(candidate1.equals(candidate2));           输出:true

使用ArrayUtils.toMap()从二维数组(Object [] [])创建一个Map,我感觉这样做没有什么意义,不如直接用put,但是可以将数组转换成map。
Object[] weightArray =  new Object[][] { {"H" , new Double(1.007)},{"He", new Double( 4.002)}}
Map<String,Double> weights = ArrayUtils.toMap( weightArray );

时间用FastDateFormat,SimpleDateFormat会有线程安全的问题,日期格式可以参考博客:https://www.cnblogs.com/loveyakamoz/archive/2011/08/18/2145047.html
Date now = new Date( );
FastDateFormat fa = FastDateFormat.getInstance("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(fa.format(now));

对于DateUtils.round(),相当于四舍五入到年月日或时分秒等
Calendar.MILLISECOND
Calendar.SECOND
Calendar.MINUTE
Calendar.HOUR_OF_DAY and Calendar.HOUR
Calendar.DATE, Calendar.DAY_OF_MONTH, and Calendar.AM_PM
Calendar.MONTH
DateUtils.SEMI_MONTH
Calendar.YEAR
Calendar.ERA

FastDateFormat dtFormat = FastDateFormat.getInstance("yyyy年MM月dd日 HH时mm分ss秒");
  Date now = new Date( );
  Date nearestHour = DateUtils.round( now, Calendar.HOUR );
  Date nearestDay = DateUtils.round( now, Calendar.DAY_OF_MONTH );
  Date nearestYear = DateUtils.round( now, Calendar.YEAR );
  Date nearestMinute = DateUtils.round( now, Calendar.MINUTE );
  Date nearestSECOND = DateUtils.round( now, Calendar.SECOND);
  Date nearestMonth = DateUtils.round( now, Calendar.MONTH);

  System.out.println( "Now: " + dtFormat.format( now ) );
  System.out.println( "Nearest Year: " + dtFormat.format( nearestYear ) );
  System.out.println( "Nearest month: " + dtFormat.format( nearestMonth ) );
  System.out.println( "Nearest Day: " + dtFormat.format( nearestDay ) );
  System.out.println( "Nearest Hour: " + dtFormat.format( nearestHour ) );
  System.out.println( "Nearest minute: " + dtFormat.format( nearestMinute ) );
  System.out.println( "Nearest second: " + dtFormat.format( nearestSECOND ) );
  输出结果:
  Now: 2018年05月10日 16时31分42秒
  Nearest Year: 2018年01月01日 00时00分00秒
  Nearest month: 2018年05月01日 00时00分00秒
  Nearest Day: 2018年05月11日 00时00分00秒
  Nearest Hour: 2018年05月10日 17时00分00秒
  Nearest minute: 2018年05月10日 16时32分00秒
  Nearest second: 2018年05月10日 16时31分42秒
  
  使用DateUtils.truncate()方法截取到年月日等
  
  Date truncatedMonth = DateUtils.truncate(now, Calendar.MONTH);
  Date truncatedHour = DateUtils.truncate(now, Calendar.HOUR);

  System.out.println("Now: " + dtFormat.format(now));
  System.out.println("Truncated Month: " + dtFormat.format(truncatedMonth));
  System.out.println("Truncated Hour: " + dtFormat.format(truncatedHour));
  输出结果:
  Now: 2018年05月10日 16时46分55秒
  Truncated Month: 2018年05月01日 00时00分00秒
  Truncated Hour: 2018年05月10日 16时00分00秒

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文简介: commons-lang.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。 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、付费专栏及课程。

余额充值