很多情况下我们都需要将字符串转换为数字,或判断字符串是否是数字等等操作,NumberUtils帮助我们方便的从字符串转换为数字,在不使用NumberUtils情况下,若然字符串值不是数字,使用Integer.parseInt()时会报出java.lang.NumberFormatException,但在NumberUtils的情况下,只会返回0而不产生错误
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);
- }
- }
- 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);
- }
- }
在开发当中字符串的使用和操作时最为频繁的,而null的字符串经常让我们报出NullPointerException,在使用StringUtils后,将不需要为字符串的null值而烦恼,却又提供了更多的操作让我们更方便的操作字符串
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
- ");
- }
- }
- 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);
- }
- }
- 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);
- }
- }
总结:
commons工具包很多开源组织都有提供,例如google,spring,apache都有各自的工具包,有众多的选择,但最终的目的只是为了方便我们程序的开发和维护,简化我们编写一些常用的逻辑,提升我们开发的效率,从而达到活在开源,善用开源
相关推荐
Apache Commons Lang是一个非常重要的Java库,它为Java标准类库提供了许多实用的工具类和扩展。这个资源包包含了丰富的功能,极大地增强了Java开发者的生产力。标题中的"org.apache.commons.lang包"指的是该库的主要...
Apache Commons Lang是Java开发中的一个非常重要的开源工具库,它提供了一系列实用的工具类,极大地丰富了Java的标准库,为开发者提供了更便捷、高效的方法来处理常见的编程任务。Lang包主要包含了对字符串操作、...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了许多Java语言的实用工具类库。在这个压缩包中,我们重点关注 Lang、IO 和 Collection 三个模块的源码及相关的单元测试(UT)。这些模块是Java...
2. **LICENSE.txt**: Apache Commons Lang遵循Apache软件许可证2.0版,这是一个非常宽松的开源许可证,允许自由使用、修改和分发代码,只要保留原有的版权信息即可。 3. **NOTICE.txt**: 这个文件通常包含项目中...
Apache Commons Lang包源代码是Java开发中的一个关键资源,它为Java程序员提供了许多实用的工具类,涵盖了字符串处理、日期时间、数学运算、反射等多个领域。这个开源项目由Apache Software Foundation维护,旨在...
Apache Commons Lang是Apache软件基金会开发的一个开源项目,旨在为Java开发提供一组不包含在JDK中的通用工具类。 Lang项目的主要目标是提供一系列高质量的实用工具类,这些类涵盖了字符串处理、日期和时间操作、...
2. **Lang**:Apache Commons Lang 是对Java标准库`java.lang`包的扩展和增强。它提供了许多实用工具类,包括异常处理、字符串操作、日期和时间格式化、枚举操作等,大大丰富了Java基础类的功能。 3. **Math**:...
Apache Commons Lang是Java开发者们广泛使用的开源库之一,其中的2.6版本以其强大的功能和稳定性,在Web开发领域备受推崇。这个工具包提供了大量实用的类和方法,极大地扩展了Java语言的功能,使得开发者能够更加...
2. Apache Commons CLI: 命令行接口(CLI)工具包简化了命令行参数解析。它可以自动处理短选项、长选项、选项组合以及帮助信息的生成,让编写命令行程序变得更加简单。 3. Apache Commons Codec: 这个库提供了各种...
1. **Apache Commons Lang**: 这个模块提供了一系列高级的Java语言功能,包括字符串操作(如格式化、比较、拼写检查)、数组操作、日期和时间处理、反射工具等。例如,StringUtils类提供了大量的静态方法,可以方便...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了大量的 Java 类库,这些类库包含了许多实用的功能,极大地丰富了 Java 核心库的功能,为开发者提供了更强大的工具集。在Web开发中,Apache ...
首先,`commons-lang-2.6.jar` 是Apache Commons Lang项目的二进制库,包含了众多实用的工具类,如字符串处理、数组操作、日期时间处理等。这些工具类在日常开发中起到了至关重要的作用,比如 `StringUtils` 类提供...
2. **Apache Commons IO**: 该模块主要关注输入/输出操作,提供文件操作、流处理、读写二进制或文本数据的工具类。例如,FileUtils 提供了文件的创建、复制、移动和删除等操作,IOUtils 可以用于读取和写入流,或者...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目集合,它提供了许多Java实用工具类,以增强Java标准库的功能。这些jar包是开发者在处理常见编程任务时的得力助手,涵盖范围广泛,包括数据结构、网络通信、...
Apache Commons Lang遵循Apache软件许可证2.0版,这意味着该库是开源的,可以自由使用、修改和分发,但需要保留原始的版权和许可声明。 总的来说,Apache Commons Lang 2.4在JCO与SAP的对接中扮演着重要角色,提供...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目集合,它提供了大量的 Java 类库,这些类库弥补了 Java 核心库中的一些不足,为开发者提供了实用且高效的工具和组件。Apache Commons 项目旨在简化开发过程...
Apache Commons 是一个由 Apache 软件基金会维护的开源项目,它提供了许多Java库,用于解决常见的编程任务。这些库增强了Java标准库的功能,为开发者提供了便利和效率。在这个特定的压缩包中,包含了几个Apache ...
Apache Commons是Apache软件基金会提供的一个开源Java工具包,它包含了许多独立的Java库,涉及的领域包括字符串操作、数学运算、数组操作、对象反射、XML处理等。本知识点将围绕Apache Commons文档中的关键组件展开...
Apache Commons Lang是Apache软件基金会的一个开源项目,旨在帮助开发者解决日常编程任务。 描述中的"hashCodeBuilder EqualsBuilder ToStringBuilder"提到了三个关键的类,它们都是Apache Commons Lang中用于构建...
Apache Commons Lang 是一个由Apache软件基金会开发的Java库,它的核心部分是`commons-lang3-3.0.js`,这个JavaScript版本的工具集是为了在Web环境中提供与Java Commons Lang相似的功能。这个库包含了大量用于处理...