原文引自:http://www.3doing.net/forums/dispbbs.asp?boardID=57&ID=1351&page=1
StringUtils类使用
检查字符串是否为空或null或仅仅包含空格
String test = "";
String test1=" ";
String test2 = "\n\n\t";
String test3 = null;
System.out.println( "test blank? " + StringUtils.isBlank( test ) );
System.out.println( "test1 blank? " + StringUtils.isBlank( test1 ) );
System.out.println( "test2 blank? " + StringUtils.isBlank( test2 ) );
System.out.println( "test3 blank? " + StringUtils.isBlank( test3 ) );
运行结果:
test blank? true
test1 blank? true
test2 blank? true
test3 blank? true
相对应的还有一个StringUtils.isNotBlank(String str)
StringUtils.isEmpty(String str)则检查字符串是否为空或null(不检查是否仅仅包含空格)
分解字符串
StringUtils.split(null, *, *) = null
StringUtils.split("", *, *) = []
StringUtils.split("ab de fg", null, 0) = ["ab", "cd", "ef"]
StringUtils.split("ab de fg", null, 0) = ["ab", "cd", "ef"]
StringUtils.split("ab:cd:ef", ":", 0) = ["ab", "cd", "ef"]
StringUtils.split("ab:cd:ef", ":", 1) = ["ab:cd:ef"]
StringUtils.split("ab:cd:ef", ":", 2) = ["ab", "cd:ef"]
StringUtils.split(String str,String separatorChars,int max) str为null时返回null
separatorChars为null时默认为按空格分解,max为0或负数时分解没有限制,max为1时返回整个字符串,max为分解成的个数(大于实际则无效)
去除字符串前后指定的字符
StringUtils.strip(null, *) = null
StringUtils.strip("", *) = ""
StringUtils.strip("abc", null) = "abc"
StringUtils.strip(" abc ", null) = "abc"
StringUtils.strip(" abcyx", "xyz") = " abc"
StringUtils.strip(String str,String stripChars) str为null时返回null,stripChars为null时默认为空格
创建醒目的Header(调试时用)
public String createHeader( String title ) {
int width = 30;
String stars = StringUtils.repeat( "*", width);
String centered = StringUtils.center( title, width, "*" );
String heading = StringUtils.join(new Object[]{stars, centered, stars}, "\n");
return heading;
}
调用createHeader("TEST")的输出结果:
******************************
************ TEST ************
******************************
字符的全部反转及以单个词为单位的反转
String original = "In time, I grew tired of his babbling nonsense.";
StringUtils.reverse( original ) = ".esnesnon gnilbbab sih fo derit werg I ,emit nI"
以单个词为单位的反转
public Sentence reverseSentence(String sentence) {
String reversed = StringUtils.chomp( sentence, "." );
reversed = StringUtils.reverseDelimited( reversed, ' ' );
reversed = reversed + ".";
return reversed;
}
String sentence = "I am Susan."
reverseSentence( sentence ) ) = "Susan am I."
检查字符串是否仅仅包含数字、字母或数字和字母的混合
String test1 = "ORANGE";
String test2 = "ICE9";
String test3 = "ICE CREAM";
String test4 = "820B Judson Avenue";
String test5 = "1976";
结果:
boolean t1val = StringUtils.isAlpha( test1 ); // returns true
boolean t2val = StringUtils.isAlphanumeric( test2 ); // returns true
boolean t3val = StringUtils.isAlphaSpace( test3 ); // returns true
boolean t4val = StringUtils.isAlphanumericSpace( test4 ); // returns true
boolean t5val = StringUtils.isNumeric( test5 ); // returns true
ArrayUtils类使用
primitive 数组克隆及反转排序
long[] array = { 1, 3, 2, 3, 5, 6 };
long[] reversed = ArrayUtils.clone( array );
ArrayUtils.reverse( reversed );
System.out.println( "Original: " + ArrayUtils.toString( array ) ); //打印
System.out.println( "Reversed: " + ArrayUtils.toString( reversed ) );
对象数组克隆及反转排序
Long[] array = new Long[] { new Long(3), new Long(56), new Long(233) };
Long[] reversed = ArrayUtils.clone( array );
ArrayUtils.reverse( reversed );
primitive 数组与对象数组之间的转换
long[] primitiveArray = new long[] { 12, 100, 2929, 3323 };
Long[] objectArray = ArrayUtils.toObject( primitiveArray );
Double[] doubleObjects = new Double[] { new Double( 3.22, 5.222, 3.221 ) };
double[] doublePrimitives = ArrayUtils.toPrimitive( doubleObject );
注
意:对象数组可以含有null元素,primitive 数组则不容许含有null元素,所以对象数组转换为primitive
数组时,可以添入第二个参数,当碰到为null的元素时用其代替(如下,Double.NaN)。如果不添入第二个参数,当碰到为null的元素时,则会
抛出NullPointerException 。
double[] result = ArrayUtils.toPrimitive( resultObjArray, Double.NaN );
查找一个数组中是否含有特定的元素(查找对象数组时,比较的是对象的equals()方法),及特定元素的第一次出现位置和最后一次出现位置
String[] stringArray = { "Red", "Orange", "Blue", "Brown", "Red" };
boolean containsBlue = ArrayUtils.contains( stringArray, "Blue" );
int indexOfRed = ArrayUtils.indexOf( stringArray, "Red");
int lastIndexOfRed = ArrayUtils.lastIndexOf( string, "Red" );
由二维对象数组创建一个 Map
Object[] weightArray =
new Object[][] { {"H" , new Double( 1.007)},
{"He", new Double( 4.002)},
{"Li", new Double( 6.941)},
{"Be", new Double( 9.012)},
{"B", new Double(10.811)},
{"C", new Double(12.010)},
{"N", new Double(14.007)},
{"O", new Double(15.999)},
{"F", new Double(18.998)},
{"Ne", new Double(20.180)} };
Map weights = ArrayUtils.toMap( weightArray );
Double hydrogenWeight = (Double)weights.get( "H" );
注意:当二维对象数组"key"值重复时,创建的Map,后面的键-值对会把前面的覆盖掉
相关推荐
下面我们将详细介绍StringUtils类的一些关键知识点及其使用方法。 1. **基本介绍** StringUtils是Apache Commons Lang项目的一部分,它提供了一系列静态方法来处理字符串,避免了频繁创建和销毁String对象,从而...
`StringUtils` API 是 Apache Commons Lang 库中的一个实用工具类,专门为处理 `java.lang.String` 对象提供了丰富的静态方法。...使用 `StringUtils` 可以显著减少代码中的异常处理,并提高代码的可读性和可维护性。
`StringUtils.doc`文档应该包含了这些方法的详细说明、参数解释、示例以及返回值等信息,对于学习和使用`StringUtils`类非常有帮助。通过阅读这份文档,开发者可以更好地理解和应用这些方法,提升代码的可读性和效率...
StringUtils.java StringUtils.java
`StringUtils` 是一个针对 `java.lang.String` 类型对象进行操作的工具类,它作为 JDK 内置 `String` 类方法的一种补充。与原生的 `String` 类不同的是,`StringUtils` 提供了更加丰富的字符串处理功能,并且在设计...
在Java编程中,处理字符串是常见的任务,Apache Commons Lang库中的StringUtils类提供了丰富的字符串操作方法,极大地提高了开发效率。本文将深入探讨StringUtils的几个重要功能,包括空字符串检查、清除空白字符、...
在Java编程语言中,`StringUtils` 是一个非常实用的工具类,它提供了大量关于字符串操作的方法,极大地简化了对字符串的处理。这个类通常在处理字符串时提高代码的可读性和效率,尤其在处理字符串的空值、拼接、分割...
`StringUtils` 是 Apache Commons Lang 库中的一个核心类,提供了大量关于字符串操作的实用方法,旨在作为 Java 核心库的扩展。这个库在 `commons-lang-2.5` 版本中是最新的,尽管现在可能有更新的版本,但这个版本...
StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,...
1. StringUtils 工具类的重要性:StringUtils 工具类是 Java 中最常用的字符串处理工具类之一,我们可以使用它来处理各种字符串操作。 2. 自定义封装 StringUtils 工具类的必要性:自定义封装 StringUtils 工具类...
继承了org.apache.commons.lang3.StringUtils工具类,加入了部分常用方法,使用时直接添加到项目的公共utils下,同时在pom.xml加入依赖: <!-- ...
在Java标准库中,虽然`String`类已经提供了很多基本的字符串操作方法,但`StringUtils`提供了更多高级和便捷的功能,使得开发者可以更高效地进行字符串的检查、比较、格式化等操作。 在`StringUtils`中,你可以找到...
此帮助类是判断字符串为空,包括(null,"","null"),在写代码时有非常大的帮助,具体使用详见:https://www.jianshu.com/p/a1fa86a710c0
在实际使用 `common-lang3.jar` 时,你可以通过导入 `org.apache.commons.lang3.StringUtils` 类并调用相应的方法来提升字符串处理的效率和代码的可读性。由于这个库经过广泛测试和社区支持,所以它是可靠的,可以在...
为了方便开发者高效地进行字符串操作,Apache Commons Lang库提供了一个强大的工具类——`StringUtils`。此工具类提供了丰富的静态方法来帮助开发者简化字符串处理任务。本文将详细介绍`StringUtils`中的几个常用...
StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,...
`StringUtils`是Apache Commons Lang库中的一个核心工具类,它提供了大量的静态方法,用于处理字符串。这个库在Java开发中非常常见,因为它弥补了Java标准库中对字符串操作的不足。`StringUtils`类包含了多种实用...