org.apache.commons.lang下的工具类
2015-09-06 16:34
465 查看
1.org.apache.commons.lang.ArrayUtils
例子
结果
2.org.apache.commons.lang.time.DateFormatUtils
结果
还有
例子
package chongqingyusp; import java.util.Map; import org.apache.commons.lang.ArrayUtils; public class test { public static void main(String[] args) { // 1.打印数组 String a=ArrayUtils.toString(new int[] { 1,4, 2, 3 });// {1,4,2,3} String a1=ArrayUtils.toString(new Integer[] { 1, 4, 2, 3 });// {1,4,2,3} String a2=ArrayUtils.toString(null, "I'm nothing!");// I'm nothing! System.out.println("a----------"+a); System.out.println("a1----------"+a1); System.out.println("a2----------"+a2); System.out.println("-----------------------------------------"); // 2.判断两个数组是否相等,采用EqualsBuilder进行判断 // 只有当两个数组的数据类型,长度,数值顺序都相同的时候,该方法才会返回True // 2.1 两个数组完全相同 boolean b=ArrayUtils.isEquals(new int[] { 1, 2, 3 }, new int[] { 1, 2, 3 });// true // 2.2 数据类型以及长度相同,但各个Index上的数据不是一一对应 boolean b1=ArrayUtils.isEquals(new int[] { 1, 3, 2 }, new int[] { 1, 2, 3 });//false // 2.3 数组的长度不一致 boolean b2=ArrayUtils.isEquals(new int[] { 1, 2, 3, 3 }, new int[] { 1, 2, 3 });//false // 2.4 不同的数据类型 boolean b3=ArrayUtils.isEquals(new int[] { 1, 2, 3 }, new long[] { 1, 2, 3 });// false boolean b4=ArrayUtils.isEquals(new Object[] { 1, 2, 3 }, new Object[] { 1, (long) 2, 3 });// false // 2.5 Null处理,如果输入的两个数组都为null时候则返回true boolean b5=ArrayUtils.isEquals(new int[] { 1, 2, 3 }, null);// false boolean b6=ArrayUtils.isEquals(null, null);// true System.out.println("b----------"+b); System.out.println("b1----------"+b1); System.out.println("b2----------"+b2); System.out.println("b3----------"+b3); System.out.println("b4----------"+b4); System.out.println("b5----------"+b5); System.out.println("b6----------"+b6); System.out.println("-----------------------------------------"); // 3.将一个数组转换成Map // 如果数组里是Entry则其Key与Value就是新Map的Key和Value,如果是Object[]则Object[0]为KeyObject[1]为Value // 对于Object[]数组里的元素必须是instanceof Object[]或者Entry,即不支持基本数据类型数组 // 如:ArrayUtils.toMap(new Object[]{new int[]{1,2},new int[]{3,4}})会出异常 Map c=ArrayUtils.toMap(new Object[] { new Object[] { 1, 2 }, new Object[] { 3, 4 } });// {1=2, // 3=4} Map c1=ArrayUtils.toMap(new Integer[][] { new Integer[] { 1, 2 }, new Integer[] { 3, 4 } });// {1=2, // 3=4} System.out.println("c----------"+c); System.out.println("c1----------"+c1); System.out.println("-----------------------------------------"); // 4.拷贝数组 int[] d=ArrayUtils.clone(new int[] { 3, 2, 4 });// {3,2,4} System.out.println("d----------"+ArrayUtils.toString(d)); System.out.println("-----------------------------------------"); // 5.截取数组 int[] e=ArrayUtils.subarray(new int[] { 3, 4, 1, 5, 6 }, 2, 4);// {1,5} System.out.println("e----------"+ArrayUtils.toString(e)); // 起始index为2(即第三个数据)结束index为4的数组 int[] e1=ArrayUtils.subarray(new int[] { 3, 4, 1, 5, 6 }, 2, 10);// {1,5,6} // 如果endIndex大于数组的长度,则取beginIndex之后的所有数据 System.out.println("e1----------"+ArrayUtils.toString(e1)); System.out.println("-----------------------------------------"); // 6.判断两个数组的长度是否相等 boolean f=ArrayUtils.isSameLength(new Integer[] { 1, 3, 5 }, new Long[] { 2L, 8L, 10L });// true System.out.println("f----------"+f); System.out.println("-----------------------------------------"); // 7.获得数组的长度 int g=ArrayUtils.getLength(new long[] { 1, 23, 3 });// 3 System.out.println("g----------"+g); System.out.println("-----------------------------------------"); // 8.判段两个数组的类型是否相同 boolean h=ArrayUtils.isSameType(new long[] { 1, 3 }, new long[] { 8, 5, 6 });// true boolean h1=ArrayUtils.isSameType(new int[] { 1, 3 }, new long[] { 8, 5, 6 });// false System.out.println("h----------"+h); System.out.println("h----------"+h1); System.out.println("-----------------------------------------"); // 9.数组反转 int[] array =new int[] { 1, 2, 5 }; ArrayUtils.reverse(array);// {5,2,1} System.out.println("i----------"+ArrayUtils.toString(array)); System.out.println("-----------------------------------------"); // 10.查询某个Object在数组中的位置,可以指定起始搜索位置,找不到返回-1 // 10.1 从正序开始搜索,搜到就返回当前的index否则返回-1 int j=ArrayUtils.indexOf(new int[] { 1, 3, 6 }, 6);// 2 int j1=ArrayUtils.indexOf(new int[] { 1, 3, 6 }, 2);// -1 // 10.2 从逆序开始搜索,搜到就返回当前的index否则返回-1 int j2=ArrayUtils.lastIndexOf(new int[] { 1, 3, 6 }, 6);// 2 System.out.println("j----------"+ArrayUtils.toString(j)); System.out.println("j1----------"+ArrayUtils.toString(j1)); System.out.println("j2----------"+ArrayUtils.toString(j2)); System.out.println("-----------------------------------------"); // 11.查询某个Object是否在数组中 boolean k=ArrayUtils.contains(new int[] { 3, 1, 2 }, 1);// true // 对于Object数据是调用该Object.equals方法进行判断 boolean k1=ArrayUtils.contains(new Object[] { 3, 1, 2 }, 1L);// false System.out.println("k----------"+ArrayUtils.toString(k)); System.out.println("k1----------"+ArrayUtils.toString(k1)); System.out.println("-----------------------------------------"); // 12.基本数据类型数组与外包型数据类型数组互转 Integer[] l=ArrayUtils.toObject(new int[] { 1, 2 });// new Integer[]{Integer,Integer} int[] l1=ArrayUtils.toPrimitive(new Integer[] { new Integer(1), new Integer(2) });// new int[]{1,2} System.out.println("l----------"+ArrayUtils.toString(l)); System.out.println("l1----------"+ArrayUtils.toString(l1)); System.out.println("-----------------------------------------"); // 13.判断数组是否为空(null和length=0的时候都为空) boolean m=ArrayUtils.isEmpty(new int[0]);// true boolean m1=ArrayUtils.isEmpty(new Object[] { null });// false System.out.println("m----------"+ArrayUtils.toString(m)); System.out.println("m1----------"+ArrayUtils.toString(m1)); System.out.println("-----------------------------------------"); // 14.合并两个数组 int[] o=ArrayUtils.addAll(new int[] { 1, 3, 5 }, new int[] { 2, 4 });// {1,3,5,2,4} System.out.println("o----------"+ArrayUtils.toString(o)); System.out.println("-----------------------------------------"); // 15.添加一个数据到数组 int[] p=ArrayUtils.add(new int[] { 1, 3, 5 }, 4);// {1,3,5,4} System.out.println("p----------"+ArrayUtils.toString(p)); System.out.println("-----------------------------------------"); // 16.删除数组中某个位置上的数据 int[] q=ArrayUtils.remove(new int[] { 1, 3, 5 }, 1);// {1,5} System.out.println("q----------"+ArrayUtils.toString(q)); System.out.println("-----------------------------------------"); // 17.删除数组中某个对象(从正序开始搜索,删除第一个) int[] r=ArrayUtils.removeElement(new int[] { 1, 3, 5 }, 3);// {1,5} System.out.println("r----------"+ArrayUtils.toString(r)); System.out.println("-----------------------------------------"); } }
结果
a----------{1,4,2,3} a1----------{1,4,2,3} a2----------I'm nothing! ----------------------------------------- b----------true b1----------false b2----------false b3----------false b4----------false b5----------false b6----------true ----------------------------------------- c----------{1=2, 3=4} c1----------{1=2, 3=4} ----------------------------------------- d----------{3,2,4} ----------------------------------------- e----------{1,5} e1----------{1,5,6} ----------------------------------------- f----------true ----------------------------------------- g----------3 ----------------------------------------- h----------true h----------false ----------------------------------------- i----------{5,2,1} ----------------------------------------- j----------2 j1-----------1 j2----------2 ----------------------------------------- k----------true k1----------false ----------------------------------------- l----------{1,2} l1----------{1,2} ----------------------------------------- m----------true m1----------false ----------------------------------------- o----------{1,3,5,2,4} ----------------------------------------- p----------{1,3,5,4} ----------------------------------------- q----------{1,5} ----------------------------------------- r----------{1,5} -----------------------------------------
2.org.apache.commons.lang.time.DateFormatUtils
import java.util.Date; import org.apache.commons.lang.time.DateFormatUtils; /** * Copyright(c) Beijing Kungeek Science & Technology Ltd. */ /** * <pre> * 程序的中文名称。 * </pre> * @author mmr mmr@kungeek.com * @version 1.00.00 * <pre> * 修改记录 * 修改后版本: 修改人: 修改日期: 修改内容: * </pre> */ public class DateFormatUtilsTest { public static void main(String args[]){ Date date = new Date(); System.out.println(DateFormatUtils.ISO_DATE_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_DATE_TIME_ZONE_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_DATETIME_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_TIME_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_TIME_NO_T_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_TIME_TIME_ZONE_FORMAT.format(date)); System.out.println(DateFormatUtils.ISO_DATE_FORMAT.format(date) + " " + DateFormatUtils.ISO_TIME_NO_T_FORMAT.format(date)); System.out.println("--------------------------------"); //----------------------------自定义模版 System.out.println(DateFormatUtils.format(date,"yyyyMMdd")); System.out.println(DateFormatUtils.format(date,"yyyy-MM-dd-HH-mm-ss")); System.out.println(DateFormatUtils.format(date,"yyyyMMddhhmmss"));//12小时制 System.out.println(DateFormatUtils.format(date,"yyyyMMddHHmmss"));//24小时制 } }
结果
2015-09-15 2015-09-15+08:00 2015-09-15T17:17:43 2015-09-15T17:17:43+08:00 T17:17:43 17:17:43 17:17:43+08:00 T17:17:43+08:00 2015-09-15 17:17:43 -------------------------------- 20150915 2015-09-15-17-17-43 20150915051743 20150915171743
还有
常用日期格式的格式化操作: 例1: 以 yyyy-MM-dd 格式化: DateFormatUtils.ISO_DATE_FORMAT.format(new Date()): 2009-03-20 例2: 以 yyyy-MM-ddZZ 格式化: DateFormatUtils.ISO_DATE_TIME_ZONE_FORMAT.format(new Date()): 2009-03-20+08:00 例3: 以 yyyy-MM-dd'T'HH:mm:ss 格式化: DateFormatUtils.ISO_DATETIME_FORMAT.format(new Date()): 2009-03-20T22:07:01 例4: 以 yyyy-MM-dd'T'HH:mm:ssZZ 格式化: DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(new Date()): 2009-03-20T22:07:01+08:00 例5: 以 'T'HH:mm:ss 格式化: DateFormatUtils.ISO_TIME_FORMAT.format(new Date()): T22:07:01 例6: 以 HH:mm:ss 格式化: DateFormatUtils.ISO_TIME_NO_T_FORMAT.format(new Date()): 22:07:01 例7: 以 HH:mm:ssZZ 格式化: DateFormatUtils.ISO_TIME_NO_T_TIME_ZONE_FORMAT.format(new Date()): 22:07:01+08:00 例8: 以 'T'HH:mm:ssZZ 格式化: DateFormatUtils.ISO_TIME_TIME_ZONE_FORMAT.format(new Date()): T22:07:01+08:00 自定义日期格式的格式化操作: 例1: 以 yyyy-MM-dd HH:mm:ss 格式化Date对象: DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss"): 2009-03-20 22:24:30 例2: 以 yyyy-MM-dd HH:mm:ss 格式化Calendar对象: DateFormatUtils.format(Calendar.getInstance(), "yyyy-MM-dd HH:mm:ss"): 2009-03-20 22:24:30 例3: 以 yyyy-MM-dd HH:mm:ss 格式化TimeInMillis: DateFormatUtils.format(Calendar.getInstance().getTimeInMillis(), "yyyy-MM-dd HH:mm:ss"): 2009-03-20 22:24:30
相关文章推荐
- [Centos]编译安装apache 2.4
- apache maven-release-plugin 版本管理方式
- php+apache+mysql环境配置
- apache common-io.jar FileUtils
- 零成本实现Web性能测试:基于Apache JMeter
- Apache Camel的multicast简单示例
- win7使用eclipse连接hadoop集群,运行mapreduce报错之:org.apache.hadoop.security.AccessControlException
- Apache Camel的sample的简单示例
- apache网站日志分析
- apache 禁止列出目录
- wamp2.5安装完毕后手动重新设置apache的默认根目录
- Apache Camel的routingSlip简单示例
- ab(Apache Benchmark)运行apr_socket_recv报错
- CentOS 5.X用第三方源安装PHP MySQL Apache等
- Apache Camel的aggregate简单示例
- 分析Linux Apache为何访问过慢
- Linux下 Apache服务器配置CGI(perl)
- Apache之——多虚拟主机多站点配置的两种实现方案
- wamp2.5(Apache2.4.9+PHP5.5.12)关于多站点的配置
- 两个IP实现IIS和Apache公用80端口的设置方法