`
lzj0470
  • 浏览: 1276806 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Apache Commons Lang

    博客分类:
  • java
 
阅读更多
ArrayUtils
    public class TestMain {  
      
        public static void main(String[] args) {  
            int[] nums1 = { 1, 2, 3, 4, 5, 6 };  
            // 通过常量创建新数组  
            int[] nums2 = ArrayUtils.EMPTY_INT_ARRAY;  
      
            // 比较两个数组是否相等  
            ArrayUtils.isEquals(nums1, nums2);  
      
            // 输出数组,第二参数为数组为空时代替输出  
            ArrayUtils.toString(nums1, "array is null");  
      
            // 克隆新数组,注意此拷贝为深拷贝  
            int[] nums3 = ArrayUtils.clone(nums1);  
      
            // 截取数组  
            ArrayUtils.subarray(nums1, 1, 2);  
      
            // 判断两个数组长度是否相等  
            ArrayUtils.isSameLength(nums1, nums2);  
      
            // 判断两个数组类型是否相等,注意int和Integer比较时不相等  
            ArrayUtils.isSameType(nums1, nums2);  
      
            // 反转数组  
            ArrayUtils.reverse(nums1);  
      
            // 查找数组元素位置  
            ArrayUtils.indexOf(nums1, 5);  
      
            // 查找数组元素最后出现位置  
            ArrayUtils.lastIndexOf(nums1, 4);  
      
            // 查找元素是否存在数组中  
            ArrayUtils.contains(nums1, 2);  
      
            // 将基本数组类型转为包装类型  
            Integer[] nums4 = ArrayUtils.toObject(nums1);  
      
            // 判断是否为空,length=0或null都属于  
            ArrayUtils.isEmpty(nums1);  
      
            // 并集操作,合并数组  
            ArrayUtils.addAll(nums1, nums2);  
      
            // 增加元素,在下标5中插入10,注意此处返回是新数组  
            ArrayUtils.add(nums1, 5, 1111);  
      
            // 删除指定位置元素,注意返回新数组,删除元素后面的元素会前移,保持数组有序  
            ArrayUtils.remove(nums1, 5);  
      
            // 删除数组中值为10的元素,以值计算不以下标  
            ArrayUtils.removeElement(nums1, 10);  
        }  
    }  


ClassUtils

    public class TestMain {  
      
        public static void main(String[] args) {  
            // 获取Test类所有实现的接口  
            ClassUtils.getAllInterfaces(Test.class);  
      
            // 获取Test类所有父类  
            ClassUtils.getAllSuperclasses(Test.class);  
      
            // 获取Test类所在的包名  
            ClassUtils.getPackageName(Test.class);  
      
            // 获取Test类简单类名  
            ClassUtils.getShortClassName(Test.class);  
      
            // 判断是否可以转型  
            ClassUtils.isAssignable(Test.class, Object.class);  
      
            // 判断是否有内部类  
            ClassUtils.isInnerClass(Test.class);  
      
        }  
    }  


ConstructorUtils

    public class TestMain {  
      
        public static void main(String[] args) {  
      
            // 获取参数为String的构造函数  
            ConstructorUtils.getAccessibleConstructor(Test.class, String.class);  
      
            // 执行参数为String的构造函数  
            Test test = (Test) ConstructorUtils.invokeConstructor(Test.class,  
                    "Hello");  
        }  
    }  


MethodUtils
    public static void main(String[] args) throws NoSuchMethodException,  
                IllegalAccessException, InvocationTargetException {  
            // 调用无参方法  
            Test test = new Test();  
            MethodUtils.invokeMethod(test, "publicHello", null);  
      
            // 调用一参方法  
            MethodUtils.invokeMethod(test, "publicHello", "Hello");  
      
            // 调用多参方法  
            MethodUtils.invokeMethod(test, "publicHello", new Object[] { "100",  
                    new Integer(10) });  
      
            // 调用静态方法  
            MethodUtils.invokeStaticMethod(Test.class, "staticHello", null);  
        }  


FieldUtils
    public class TestMain {  
      
        public static void main(String[] args) throws IllegalAccessException {  
            Test test = new Test("1", "Ray", "hello");  
      
            // 以下两个方法完全一样,都能获取共有或私有变量,因为第三个参数都设置了不检查  
            FieldUtils.getDeclaredField(Test.class, "username", true);  
            FieldUtils.getField(Test.class, "username", true);  
      
            // 读取私有或公共变量的值  
            FieldUtils.readField(test, "username", true);  
      
            // 读取静态变量  
            FieldUtils.readStaticField(Test.class, "STATIC_FIELD");  
      
            // 写入私有或共有变量  
            FieldUtils.writeField(test, "username", "RayRay", true);  
      
            // 写入静态变量  
            FieldUtils.writeStaticField(Test.class, "STATIC_FIELD", "static_value");  
        }  
    }  



NumberUtils  and  RandomUtils

   
public class TestMain {  
        public static void main(String[] args) throws IllegalAccessException {  
            String str = "12.7";  
            /* 
             * org.apache.commons.lang.NumberUtils已经被弃用, 
             * 注意要引入org.apache.commons.lang.math.NumberUtils 
             */  
      
            // 判断字符串是否为整数  
            NumberUtils.isDigits(str);  
      
            // 判断字符串是否为数字  
            NumberUtils.isNumber(str);  
      
            // 获取参数中最大的值,支持传入数组  
            NumberUtils.max(10, 20, 30);  
      
            // 获取参数中最小的值,支持传入数组  
            NumberUtils.min(10, 20, 30);  
      
            // 将字符串转换为int类型,支持float,long,short等数值类型  
            NumberUtils.toInt(str);  
      
            // 通过字符串创建BigDecimal类型 ,支持int,float,long等数值  
            NumberUtils.createBigDecimal(str);  
      
      
            /* 
             * RandomUtils帮助我们产生随机数,不止是数字类型 ,  
             * 连boolean类型都可以通过RandomUtils产生 
             */  
            RandomUtils.nextBoolean();  
            RandomUtils.nextDouble();  
            RandomUtils.nextLong();  
            // 注意这里传入的参数不是随机种子,而是在0~1000之间产生一位随机数  
            RandomUtils.nextInt(1000);  
      
        }  
    }  


StringUtils
   
public class TestMain {  
        public static void main(String[] args) throws IllegalAccessException {  
            String str = "Hello World";  
            /* 
             * 由于StringUtils拥有100+的方法,笔者不逐一列举用法, 
             * 只列举笔者认为常用的或笔者使用过的 
             */  
      
            // isEmpty和isBlank的区别在于isEmpty不会忽略空格,  
            // " "<--对于这样的字符串isEmpty会认为不是空,  
            // 而isBlank会认为是空,isBlank更常用  
            StringUtils.isEmpty(str);  
            StringUtils.isNotEmpty(str);  
            StringUtils.isBlank(str);  
            StringUtils.isNotBlank(str);  
      
      
            // strip      --> 去除两端的aa  
            // stripStart --> 去除开始位置的hell  
            // stripEnd   --> 去除结尾位置的orld  
            StringUtils.strip(str, "aa");  
            StringUtils.stripStart(str, "hell");  
            StringUtils.stripEnd(str, "orld");  
      
      
            // 返回字符串在第三次出现A的位置  
            StringUtils.ordinalIndexOf(str, "A", 3);  
      
      
            // 获取str 开始为hello结尾为orld中间的字符串  
            // 注意此方法返回字符串      -->substringBetween  
            // 注意此方法返回字符串数组(多了个s) --> substringsBetween  
            StringUtils.substringBetween(str, "hell", "orld");  
            StringUtils.substringsBetween(str, "hell", "orld");  
      
      
            // 重复字符串,第二种重载形式为在重复中用hahah拼接  
            StringUtils.repeat(str, 3);  
            StringUtils.repeat(str, "hahah", 2);  
      
      
            // 统计参数2在字符串中出现的次数  
            StringUtils.countMatches(str, "l");  
      
      
            // 判断字符串是否全小写或大写  
            StringUtils.isAllLowerCase(str);  
            StringUtils.isAllUpperCase(str);  
      
      
            // isAlpha        --> 全部由字母组成返回true  
            // isNumeric      -->全部由数字组成返回true  
            // isAlphanumeric -->全部由字母或数字组成返回true  
            // isAlphaSpace   -->全部由字母或空格组成返回true  
            // isWhitespace   -->全部由空格组成返回true  
            StringUtils.isAlpha(str);  
            StringUtils.isNumeric(str);  
            StringUtils.isAlphanumeric(str);  
            StringUtils.isAlphaSpace(str);  
            StringUtils.isWhitespace(str);  
      
      
            // 缩进字符串,第二参数最低为 4,要包含...  
            // 现在Hello World输出为H...  
            StringUtils.abbreviate(str, 4);  
      
      
            // 首字母大写或小写  
            StringUtils.capitalize(str);  
            StringUtils.uncapitalize(str);  
      
      
            // 将字符串数组转变为一个字符串,通过","拼接,支持传入iterator和collection  
            StringUtils.join(new String[] { "Hello", "World" }, ",");  
      
      
      
            /* 
             * 经常性要把后台的字符串传递到前提作为html代码进行解释, 
             * 可以使用以下方法进行转换,以下方法输出为 
             * <p>Hello</p> 
             */  
            StringEscapeUtils.escapeHtml("Hello  
    ");  
        }  
    }  


DateUtils and DateFormatUtils
   
public class TestMain {  
        public static void main(String[] args) throws IllegalAccessException {  
            Date day1 = new Date();  
            /* 
             * 由于Aache的DateUtils和DateFormatUtils并没有Joda强大, 
             *  所以在这里只作简单的示例 
             */  
              
            // 增加一天  
            DateUtils.addDays(day1, 1);  
            // 减少一年  
            DateUtils.addYears(day1, -1);  
      
            // 格式化时间,第三参数为国际化,表示按美国时间显示  
            DateFormatUtils.format(day1, "yyyy-MM-dd", Locale.UK);  
      
        }  
    }  


来源于:http://ray-yui.iteye.com/blog/1958319
分享到:
评论

相关推荐

    Apache Commons Lang 3.4 API 帮助文档,英文

    Apache Commons Lang 3.4 API 帮助文档,英文

    apache Commons Lang 2.4 API

    apache Commons Lang 2.4 API apache Commons Lang 2.4 API

    org.apache.commons.lang jar包下载(commons-lang3-3.1.jar)

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    org.apache.commons.lang jar下载

    Apache Commons Lang 是一个Java工具包,它提供了对Java语言核心类库的扩展,以支持一些高级功能和实用方法。这个`org.apache.commons.lang.jar`文件是该库的一个版本,包含了Lang项目的所有包,使得开发者在处理...

    apache commons-lang简介

    Apache Commons Lang是Java开发中的一个非常重要的开源工具库,它提供了一系列实用的工具类,极大地丰富了Java的标准库,为开发者提供了更便捷、高效的方法来处理常见的编程任务。Lang包主要包含了对字符串操作、...

    Apache Commons Lang 3.6 API 帮助文档,英文

    Apache Commons Lang 3.6 是一个Java库,它提供了许多实用工具类,扩展了Java语言的功能,弥补了标准库中的不足。这个版本的API帮助文档是开发者的重要参考资料,特别是对于那些希望深入理解和利用该库功能的程序员...

    apache commons lang、io、collection源码与UT

    Apache Commons Lang 是一个为Java语言提供增强功能的库,包括字符串操作、基本类型转换、日期和时间处理等。源码分析可以帮助我们理解如何高效地处理这些常见任务。例如,StringUtils 类提供了各种字符串操作方法...

    基于Java的Apache Commons Lang设计源码

    该项目是基于Java的Apache Commons Lang设计源码,共包含572个文件,其中包括495个Java源文件、30个TXT文本文件、27个XML配置文件、5个YAML配置文件、4个Markdown文档、1个YAML文件、1个Gitattributes文件、1个...

    org.apache.commons.lang包

    Apache Commons Lang是一个非常重要的Java库,它为Java标准类库提供了许多实用的工具类和扩展。这个资源包包含了丰富的功能,极大地增强了Java开发者的生产力。标题中的"org.apache.commons.lang包"指的是该库的主要...

    Apache Commons Lang包源代码

    Apache Commons Lang包源代码是Java开发中的一个关键资源,它为Java程序员提供了许多实用的工具类,涵盖了字符串处理、日期时间、数学运算、反射等多个领域。这个开源项目由Apache Software Foundation维护,旨在...

    commons-lang3-3.0-bin.zip

    Apache Commons Lang 是一个 Java 类库,它为 Java SDK 增加了大量有用的实用工具类,弥补了标准库中的一些不足。"commons-lang3-3.0-bin.zip" 是 Apache Commons Lang 的第 3.0 版本的二进制分发包。这个压缩包包含...

    commons-lang3-3.12.0 jar包

    Apache Commons Lang是Java编程语言中的一个实用工具库,它提供了许多增强和补充Java核心类库功能的方法。在本例中,我们关注的是`commons-lang3-3.12.0.jar`包,这是Apache Commons Lang项目的最新版本。这个库包含...

    commons-lang-2.6jar包

    "commons-lang-2.6.jar" 是Apache Commons Lang项目的版本2.6的Java类库,这个库提供了大量的实用工具类,极大地丰富了Java标准库的功能。Apache Commons Lang是Apache软件基金会开发的一个开源项目,旨在为Java开发...

    org.apache.commons.lang jar包下载

    commons-lang3.3.1.jar、Apache Commons包中的一个,包含了一些数据类型工具类,是java.lang.*的扩展。必须使用的jar包。为JRE5.0+的更好的版本所提供 Jar文件包含的类: META-INF/MANIFEST.MFMETA-INF/LICENSE....

    commons-lang3-3.4-API文档-中文版.zip

    Maven坐标:org.apache.commons:commons-lang3:3.4; 标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    Apache Commons组件简介.ppt

    2. **Lang**:Apache Commons Lang 是对Java标准库`java.lang`包的扩展和增强。它提供了许多实用工具类,包括异常处理、字符串操作、日期和时间格式化、枚举操作等,大大丰富了Java基础类的功能。 3. **Math**:...

    Apache Commons Lang 3.4_EN_API.rar

    Apache Commons Lang是Apache软件基金会开发的一个Java工具包,它提供了大量的实用类和方法,扩展了Java标准库的功能。这个3.4版本的API文档是英文版,为开发者提供了详细的类和方法参考,帮助他们更好地理解和使用...

    commons-lang3-3.9-API文档-中文版.zip

    Maven坐标:org.apache.commons:commons-lang3:3.9; 标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    commons-lang3-3.10-API文档-中文版.zip

    Maven坐标:org.apache.commons:commons-lang3:3.10; 标签:apache、commons、lang3、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    com.springsource.org.apache.commons.lang

    标签 "commons.lang" 是Apache Commons Lang库的简写,它是一个通用的标记,用于识别与Apache Commons Lang相关的代码或资源。 在提供的压缩包子文件的文件名称列表中,我们只看到 "新建文件夹",这并没有提供任何...

Global site tag (gtag.js) - Google Analytics