scolebourne 2003/07/20 08:29:45
Modified: lang/src/test/org/apache/commons/lang
StringUtilsSubstringTest.java
lang/src/java/org/apache/commons/lang StringUtils.java
Log:
Add more javadoc example code
Ensure empty string behaviour documented in example code
Revision Changes Path
1.6 +9 -5
jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsSubstringTest.java
Index: StringUtilsSubstringTest.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsSubstringTest.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- StringUtilsSubstringTest.java 18 Jul 2003 02:06:23 -0000 1.5
+++ StringUtilsSubstringTest.java 20 Jul 2003 15:29:44 -0000 1.6
@@ -207,17 +207,21 @@
StringUtils.countMatches("oooooooooooo", "ooo"));
}
- public void testGetNestedString() {
+ public void testGetNestedString_StringString() {
assertEquals(null, StringUtils.getNestedString(null, "tag"));
+ assertEquals("", StringUtils.getNestedString("", ""));
+ assertEquals(null, StringUtils.getNestedString("", "abc"));
+ assertEquals("", StringUtils.getNestedString(" ", " "));
assertEquals(null, StringUtils.getNestedString("abc", null));
assertEquals("", StringUtils.getNestedString("abc", ""));
assertEquals(null, StringUtils.getNestedString("abc", "a"));
assertEquals("bc", StringUtils.getNestedString("abca", "a"));
assertEquals("bc", StringUtils.getNestedString("abcabca", "a"));
- assertEquals("", StringUtils.getNestedString("", ""));
- assertEquals("", StringUtils.getNestedString(" ", " "));
assertEquals("bar", StringUtils.getNestedString("\nbar\n", "\n"));
-
+ }
+
+ public void testGetNestedString_StringStringString() {
+ assertEquals(null, StringUtils.getNestedString(null, "", ""));
assertEquals("", StringUtils.getNestedString("", "", ""));
assertEquals("", StringUtils.getNestedString(" ", " ", " "));
assertEquals("bar", StringUtils.getNestedString("<foo>bar</foo>", "<foo>",
"</foo>") );
1.73 +177 -52
jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java
Index: StringUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -r1.72 -r1.73
--- StringUtils.java 20 Jul 2003 14:47:29 -0000 1.72
+++ StringUtils.java 20 Jul 2003 15:29:44 -0000 1.73
@@ -297,10 +297,10 @@
*
* <pre>
* StringUtils.clean(null) = ""
+ * StringUtils.clean("") = ""
* StringUtils.clean("abc") = "abc"
* StringUtils.clean(" abc ") = "abc"
* StringUtils.clean(" ") = ""
- * StringUtils.clean("") = ""
* </pre>
*
* @see java.lang.String#trim()
@@ -327,10 +327,10 @@
*
* <pre>
* StringUtils.trim(null) = null
+ * StringUtils.trim("") = ""
+ * StringUtils.trim(" ") = ""
* StringUtils.trim("abc") = "abc"
* StringUtils.trim(" abc ") = "abc"
- * StringUtils.trim(" ") = ""
- * StringUtils.trim("") = ""
* </pre>
*
* @param str the String to be trimmed, may be null
@@ -351,10 +351,10 @@
*
* <pre>
* StringUtils.trimToNull(null) = null
+ * StringUtils.trimToNull("") = null
+ * StringUtils.trimToNull(" ") = null
* StringUtils.trimToNull("abc") = "abc"
* StringUtils.trimToNull(" abc ") = "abc"
- * StringUtils.trimToNull(" ") = null
- * StringUtils.trimToNull("") = null
* </pre>
*
* @param str the String to be trimmed, may be null
@@ -377,10 +377,10 @@
*
* <pre>
* StringUtils.trimToEmpty(null) = ""
+ * StringUtils.trimToEmpty("") = ""
+ * StringUtils.trimToEmpty(" ") = ""
* StringUtils.trimToEmpty("abc") = "abc"
* StringUtils.trimToEmpty(" abc ") = "abc"
- * StringUtils.trimToEmpty(" ") = ""
- * StringUtils.trimToEmpty("") = ""
* </pre>
*
* @param str the String to be trimmed, may be null
@@ -487,6 +487,7 @@
*
* <pre>
* StringUtils.strip(null, null) = null
+ * StringUtils.strip("", null) = ""
* StringUtils.strip("abc", null) = "abc"
* StringUtils.strip(" abc", null) = "abc"
* StringUtils.strip("abc ", null) = "abc"
@@ -515,12 +516,14 @@
* stripped as defined by [EMAIL PROTECTED] Character#isWhitespace(char)}.</p>
*
* <pre>
- * StringUtils.strip(null, null) = null
- * StringUtils.strip("abc", null) = "abc"
- * StringUtils.strip(" abc", null) = "abc"
- * StringUtils.strip("abc ", null) = "abc "
- * StringUtils.strip(" abc ", null) = "abc "
- * StringUtils.strip("yxabc ", "xyz") = "abc "
+ * StringUtils.stripStart(null, null) = null
+ * StringUtils.stripStart("", null) = ""
+ * StringUtils.stripStart("abc", "") = "abc"
+ * StringUtils.stripStart("abc", null) = "abc"
+ * StringUtils.stripStart(" abc", null) = "abc"
+ * StringUtils.stripStart("abc ", null) = "abc "
+ * StringUtils.stripStart(" abc ", null) = "abc "
+ * StringUtils.stripStart("yxabc ", "xyz") = "abc "
* </pre>
*
* @param str the String to remove characters from, may be null
@@ -537,6 +540,8 @@
while ((start != strLen) && Character.isWhitespace(str.charAt(start))) {
start++;
}
+ } else if (stripChars.length() == 0) {
+ return str;
} else {
while ((start != strLen) && (stripChars.indexOf(str.charAt(start)) !=
-1)) {
start++;
@@ -554,12 +559,14 @@
* stripped as defined by [EMAIL PROTECTED] Character#isWhitespace(char)}.</p>
*
* <pre>
- * StringUtils.strip(null, null) = null
- * StringUtils.strip("abc", null) = "abc"
- * StringUtils.strip(" abc", null) = " abc"
- * StringUtils.strip("abc ", null) = "abc"
- * StringUtils.strip(" abc ", null) = " abc"
- * StringUtils.strip(" abcyx", "xyz") = " abc"
+ * StringUtils.stripEnd(null, null) = null
+ * StringUtils.stripEnd("", null) = ""
+ * StringUtils.stripEnd("abc", "") = "abc"
+ * StringUtils.stripEnd("abc", null) = "abc"
+ * StringUtils.stripEnd(" abc", null) = " abc"
+ * StringUtils.stripEnd("abc ", null) = "abc"
+ * StringUtils.stripEnd(" abc ", null) = " abc"
+ * StringUtils.stripEnd(" abcyx", "xyz") = " abc"
* </pre>
*
* @param str the String to remove characters from, may be null
@@ -576,6 +583,8 @@
while ((end != 0) && Character.isWhitespace(str.charAt(end - 1))) {
end--;
}
+ } else if (stripChars.length() == 0) {
+ return str;
} else {
while ((end != 0) && (stripChars.indexOf(str.charAt(end - 1)) != -1)) {
end--;
@@ -1016,6 +1025,8 @@
* <pre>
* StringUtils.indexOfAny(null, null) = -1
* StringUtils.indexOfAny(null, ["ab","cd"]) = -1
+ * StringUtils.indexOfAny("", null) = -1
+ * StringUtils.indexOfAny("", ["ab","cd"]) = -1
* StringUtils.indexOfAny("zzabyycdxx", null) = -1
* StringUtils.indexOfAny("zzabyycdxx", []) = -1
* StringUtils.indexOfAny("zzabyycdxx", ["ab","cd"]) = 2
@@ -1065,6 +1076,8 @@
* <pre>
* StringUtils.lastIndexOfAny(null, null) = -1
* StringUtils.lastIndexOfAny(null, ["ab","cd"]) = -1
+ * StringUtils.lastIndexOfAny("", null) = -1
+ * StringUtils.lastIndexOfAny("", ["ab","cd"]) = -1
* StringUtils.lastIndexOfAny("zzabyycdxx", null) = -1
* StringUtils.lastIndexOfAny("zzabyycdxx", []) = -1
* StringUtils.lastIndexOfAny("zzabyycdxx", ["ab","cd"]) = 6
@@ -1270,6 +1283,7 @@
*
* <pre>
* StringUtils.substring(null, 0) = null
+ * StringUtils.substring("", 0) = ""
* StringUtils.substring("abc", 0) = "abc"
* StringUtils.substring("abc", 2) = "c"
* StringUtils.substring("abc", 4) = ""
@@ -1310,6 +1324,7 @@
*
* <pre>
* StringUtils.substring(null, 0, 2) = null
+ * StringUtils.substring("", 0, 2) = ""
* StringUtils.substring("abc", 0, 2) = "ab"
* StringUtils.substring("abc", 2, 0) = ""
* StringUtils.substring("abc", 2, 4) = "c"
@@ -1341,7 +1356,6 @@
// check length next
if (end > str.length()) {
- // check this works.
end = str.length();
}
@@ -1372,6 +1386,7 @@
*
* <pre>
* StringUtils.left(null, 0) = null
+ * StringUtils.left("", 2) = ""
* StringUtils.left("abc", 0) = ""
* StringUtils.left("abc", 2) = "ab"
* StringUtils.left("abc", 4) = "abc"
@@ -1403,6 +1418,7 @@
*
* <pre>
* StringUtils.right(null, 0) = null
+ * StringUtils.right("", 2) = ""
* StringUtils.right("abc", 0) = ""
* StringUtils.right("abc", 2) = "bc"
* StringUtils.right("abc", 4) = "abc"
@@ -1434,6 +1450,7 @@
*
* <pre>
* StringUtils.mid(null, 0, 0) = null
+ * StringUtils.mid("", 0, 4) = ""
* StringUtils.mid("abc", 0, 2) = "ab"
* StringUtils.mid("abc", 0, 4) = "abc"
* StringUtils.mid("abc", 2, 4) = "c"
@@ -1829,6 +1846,7 @@
*
* <pre>
* StringUtils.deleteSpaces(null) = null
+ * StringUtils.deleteSpaces("") = ""
* StringUtils.deleteSpaces("abc") = "abc"
* StringUtils.deleteSpaces(" \t abc \n ") = "abc"
* StringUtils.deleteSpaces("ab c") = "abc"
@@ -1855,9 +1873,10 @@
* [EMAIL PROTECTED] Character#isWhitespace(char)}.</p>
*
* <pre>
- * StringUtils.deleteWhitespace(null) = null
- * StringUtils.deleteWhitespace("abc") = "abc"
- * StringUtils.deleteWhitespace(" abc ") = "abc"
+ * StringUtils.deleteWhitespace(null) = null
+ * StringUtils.deleteWhitespace("") = ""
+ * StringUtils.deleteWhitespace("abc") = "abc"
+ * StringUtils.deleteWhitespace(" ab c ") = "abc"
* </pre>
*
* @param str the String to delete whitespace from, may be null
@@ -1887,6 +1906,7 @@
*
* <pre>
* StringUtils.replaceOnce(null, null, null) = null
+ * StringUtils.replaceOnce("", null, null) = ""
* StringUtils.replaceOnce("aba", null, null) = "aba"
* StringUtils.replaceOnce("aba", null, null) = "aba"
* StringUtils.replaceOnce("aba", "a", null) = "aba"
@@ -1912,6 +1932,7 @@
*
* <pre>
* StringUtils.replace(null, null, null) = null
+ * StringUtils.replace("", null, null) = ""
* StringUtils.replace("aba", null, null) = "aba"
* StringUtils.replace("aba", null, null) = "aba"
* StringUtils.replace("aba", "a", null) = "aba"
@@ -1938,6 +1959,7 @@
*
* <pre>
* StringUtils.replace(null, null, null, 1) = null
+ * StringUtils.replace("", null, null, 1) = ""
* StringUtils.replace("abaa", null, null, 1) = "abaa"
* StringUtils.replace("abaa", null, null, 1) = "abaa"
* StringUtils.replace("abaa", "a", null, 1) = "abaa"
@@ -1979,6 +2001,7 @@
*
* <pre>
* StringUtils.overlayString(null, null, 2, 4) = null
+ * StringUtils.overlayString("", "abc", 0, 0) = "abc"
* StringUtils.overlayString("abcdef", null, 2, 4) = "abef"
* StringUtils.overlayString("abcdef", "", 2, 4) = "abef"
* StringUtils.overlayString("abcdef", "zzzz", 2, 4) = "abzzzzef"
@@ -2465,6 +2488,7 @@
*
* <pre>
* StringUtils.rightPad(null, 1) = null
+ * StringUtils.rightPad("", 3) = " "
* StringUtils.rightPad("bat", 3) = "bat"
* StringUtils.rightPad("bat", 5) = "bat "
* StringUtils.rightPad("bat", 1) = "bat"
@@ -2487,6 +2511,7 @@
*
* <pre>
* StringUtils.rightPad(null, 1, 'z') = null
+ * StringUtils.rightPad("", 3, 'z') = "zzz"
* StringUtils.rightPad("bat", 3, 'z') = "bat"
* StringUtils.rightPad("bat", 5, 'z') = "batzz"
* StringUtils.rightPad("bat", 1, 'z') = "bat"
@@ -2520,6 +2545,7 @@
*
* <pre>
* StringUtils.rightPad(null, 1, "yz") = null
+ * StringUtils.rightPad("", 3, "z") = "zzz"
* StringUtils.rightPad("bat", 3, "yz") = "bat"
* StringUtils.rightPad("bat", 5, "yz") = "batyz"
* StringUtils.rightPad("bat", 8, "yz") = "batyzyzy"
@@ -2575,6 +2601,7 @@
*
* <pre>
* StringUtils.leftPad(null, 1) = null
+ * StringUtils.leftPad("", 3) = " "
* StringUtils.leftPad("bat", 3) = "bat"
* StringUtils.leftPad("bat", 5) = " bat"
* StringUtils.leftPad("bat", 1) = "bat"
@@ -2597,6 +2624,7 @@
*
* <pre>
* StringUtils.leftPad(null, 1, 'z') = null
+ * StringUtils.leftPad("", 3, 'z') = "zzz"
* StringUtils.leftPad("bat", 3, 'z') = "bat"
* StringUtils.leftPad("bat", 5, 'z') = "zzbat"
* StringUtils.leftPad("bat", 1, 'z') = "bat"
@@ -2630,6 +2658,7 @@
*
* <pre>
* StringUtils.leftPad(null, 1, "yz") = null
+ * StringUtils.leftPad("", 3, "z") = "zzz"
* StringUtils.leftPad("bat", 3, "yz") = "bat"
* StringUtils.leftPad("bat", 5, "yz") = "yzbat"
* StringUtils.leftPad("bat", 8, "yz") = "yzyzybat"
@@ -2694,8 +2723,8 @@
* <pre>
* StringUtils.center(null, -1) = null
* StringUtils.center(null, 4) = null
- * StringUtils.center("ab", -1) = "ab"
* StringUtils.center("", 4) = " "
+ * StringUtils.center("ab", -1) = "ab"
* StringUtils.center("ab", 4) = " ab "
* StringUtils.center("abcd", 2) = "abcd"
* StringUtils.center("a", 4) = " a "
@@ -2719,9 +2748,9 @@
*
* <pre>
* StringUtils.center(null, -1, ' ') = null
- * StringUtils.center("ab", -1, ' ') = "ab"
* StringUtils.center(null, 4, ' ') = null
* StringUtils.center("", 4, ' ') = " "
+ * StringUtils.center("ab", -1, ' ') = "ab"
* StringUtils.center("ab", 4, ' ') = " ab"
* StringUtils.center("abcd", 2, ' ') = "abcd"
* StringUtils.center("a", 4, ' ') = " a "
@@ -2757,9 +2786,9 @@
*
* <pre>
* StringUtils.center(null, -1, " ") = null
- * StringUtils.center("ab", -1, " ") = "ab"
* StringUtils.center(null, 4, " ") = null
* StringUtils.center("", 4, " ") = " "
+ * StringUtils.center("ab", -1, " ") = "ab"
* StringUtils.center("ab", 4, " ") = " ab"
* StringUtils.center("abcd", 2, " ") = "abcd"
* StringUtils.center("a", 4, " ") = " a "
@@ -2802,6 +2831,7 @@
*
* <pre>
* StringUtils.upperCase(null) = null
+ * StringUtils.upperCase("") = ""
* StringUtils.upperCase("aBc") = "ABC"
* </pre>
*
@@ -2822,6 +2852,7 @@
*
* <pre>
* StringUtils.lowerCase(null) = null
+ * StringUtils.lowerCase("") = ""
* StringUtils.lowerCase("aBc") = "abc"
* </pre>
*
@@ -2843,6 +2874,7 @@
*
* <pre>
* StringUtils.capitalise(null) = null
+ * StringUtils.capitalise("") = ""
* StringUtils.capitalise("cat") = "Cat"
* StringUtils.capitalise("cAt") = "CAt"
* </pre>
@@ -2869,6 +2901,7 @@
*
* <pre>
* StringUtils.uncapitalise(null) = null
+ * StringUtils.uncapitalise("") = ""
* StringUtils.uncapitalise("Cat") = "cat"
* StringUtils.uncapitalise("CAT") = "cAT"
* </pre>
@@ -2902,6 +2935,7 @@
*
* <pre>
* StringUtils.swapCase(null) = null
+ * StringUtils.swapCase("") = ""
* StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
* </pre>
*
@@ -3028,6 +3062,8 @@
*
* <pre>
* StringUtils.getNestedString(null, "tag") = null
+ * StringUtils.getNestedString("", "") = ""
+ * StringUtils.getNestedString("", "tag") = null
* StringUtils.getNestedString("tagabctag", null) = null
* StringUtils.getNestedString("tagabctag", "") = ""
* StringUtils.getNestedString("tagabctag", "tag") = "abc"
@@ -3051,6 +3087,9 @@
*
* <pre>
* StringUtils.getNestedString(null, "y", "z") = null
+ * StringUtils.getNestedString("", "", "") = ""
+ * StringUtils.getNestedString("", "", "tag") = null
+ * StringUtils.getNestedString("", "tag", "tag") = null
* StringUtils.getNestedString("yabcz", null, null) = null
* StringUtils.getNestedString("yabcz", "", "") = ""
* StringUtils.getNestedString("yabcz", "y", "z") = "abc"
@@ -3082,8 +3121,22 @@
/**
* <p>How many times is the substring in the larger String.</p>
*
- * <p><code>null</code> returns <code>0</code>.</p>
+ * <p>A <code>null</code> String input returns <code>0</code>.</p>
*
+ * <pre>
+ * StringUtils.countMatches(null, null) = 0
+ * StringUtils.countMatches(null, "") = 0
+ * StringUtils.countMatches(null, "a") = 0
+ * StringUtils.countMatches("", null) = 0
+ * StringUtils.countMatches("", "") = 0
+ * StringUtils.countMatches("", "a") = 0
+ * StringUtils.countMatches("abba", null) = 0
+ * StringUtils.countMatches("abba", "") = 0
+ * StringUtils.countMatches("abba", "a") = 2
+ * StringUtils.countMatches("abba", "ab") = 1
+ * StringUtils.countMatches("abba", "xxx") = 0
+ * </pre>
+ *
* @param str the String to check, may be null
* @param sub the substring to count, may be null
* @return the number of occurances, 0 if either String is <code>null</code>
@@ -3110,6 +3163,15 @@
* <p><code>null</code> will return <code>false</code>.
* An empty String ("") will return <code>true</code>.</p>
*
+ * <pre>
+ * StringUtils.isAlpha(null) = false
+ * StringUtils.isAlpha("") = true
+ * StringUtils.isAlpha(" ") = false
+ * StringUtils.isAlpha("abc") = true
+ * StringUtils.isAlpha("ab2c") = false
+ * StringUtils.isAlpha("ab-c") = false
+ * </pre>
+ *
* @param str the String to check, may be null
* @return <code>true</code> if only contains letters, and is non-null
*/
@@ -3127,34 +3189,22 @@
}
/**
- * <p>Checks if the String contains only whitespace.</p>
- *
- * <p><code>null</code> will return <code>false</code>.
- * An empty String ("") will return <code>true</code>.</p>
- *
- * @param str the String to check, may be null
- * @return <code>true</code> if only contains whitespace, and is non-null
- */
- public static boolean isWhitespace(String str) {
- if (str == null) {
- return false;
- }
- int sz = str.length();
- for (int i = 0; i < sz; i++) {
- if ((Character.isWhitespace(str.charAt(i)) == false) ) {
- return false;
- }
- }
- return true;
- }
-
- /**
* <p>Checks if the String contains only unicode letters and
* space (' ').</p>
*
* <p><code>null</code> will return <code>false</code>
* An empty String ("") will return <code>true</code>.</p>
*
+ * <pre>
+ * StringUtils.isAlphaSpace(null) = false
+ * StringUtils.isAlphaSpace("") = true
+ * StringUtils.isAlphaSpace(" ") = true
+ * StringUtils.isAlphaSpace("abc") = true
+ * StringUtils.isAlphaSpace("ab c") = true
+ * StringUtils.isAlphaSpace("ab2c") = false
+ * StringUtils.isAlphaSpace("ab-c") = false
+ * </pre>
+ *
* @param str the String to check, may be null
* @return <code>true</code> if only contains letters and space,
* and is non-null
@@ -3179,6 +3229,16 @@
* <p><code>null</code> will return <code>false</code>.
* An empty String ("") will return <code>true</code>.</p>
*
+ * <pre>
+ * StringUtils.isAlphanumeric(null) = false
+ * StringUtils.isAlphanumeric("") = true
+ * StringUtils.isAlphanumeric(" ") = false
+ * StringUtils.isAlphanumeric("abc") = true
+ * StringUtils.isAlphanumeric("ab c") = false
+ * StringUtils.isAlphanumeric("ab2c") = true
+ * StringUtils.isAlphanumeric("ab-c") = false
+ * </pre>
+ *
* @param str the String to check, may be null
* @return <code>true</code> if only contains letters or digits,
* and is non-null
@@ -3203,6 +3263,16 @@
* <p><code>null</code> will return <code>false</code>.
* An empty String ("") will return <code>true</code>.</p>
*
+ * <pre>
+ * StringUtils.isAlphanumeric(null) = false
+ * StringUtils.isAlphanumeric("") = true
+ * StringUtils.isAlphanumeric(" ") = true
+ * StringUtils.isAlphanumeric("abc") = true
+ * StringUtils.isAlphanumeric("ab c") = true
+ * StringUtils.isAlphanumeric("ab2c") = true
+ * StringUtils.isAlphanumeric("ab-c") = false
+ * </pre>
+ *
* @param str the String to check, may be null
* @return <code>true</code> if only contains letters, digits or space,
* and is non-null
@@ -3222,11 +3292,23 @@
}
/**
- * <p>Checks if the String contains only unicode digits.</p>
+ * <p>Checks if the String contains only unicode digits.
+ * A decimal point is not a unicode digit and returns false.</p>
*
* <p><code>null</code> will return <code>false</code>.
* An empty String ("") will return <code>true</code>.</p>
*
+ * <pre>
+ * StringUtils.isNumeric(null) = false
+ * StringUtils.isNumeric("") = true
+ * StringUtils.isNumeric(" ") = false
+ * StringUtils.isNumeric("123") = true
+ * StringUtils.isNumeric("12 3") = false
+ * StringUtils.isNumeric("ab2c") = false
+ * StringUtils.isNumeric("12-3") = false
+ * StringUtils.isNumeric("12.3") = false
+ * </pre>
+ *
* @param str the String to check, may be null
* @return <code>true</code> if only contains digits, and is non-null
*/
@@ -3245,11 +3327,23 @@
/**
* <p>Checks if the String contains only unicode digits or space
- * (<code>' '</code>).</p>
+ * (<code>' '</code>).
+ * A decimal point is not a unicode digit and returns false.</p>
*
* <p><code>null</code> will return <code>false</code>.
* An empty String ("") will return <code>true</code>.</p>
*
+ * <pre>
+ * StringUtils.isNumeric(null) = false
+ * StringUtils.isNumeric("") = true
+ * StringUtils.isNumeric(" ") = true
+ * StringUtils.isNumeric("123") = true
+ * StringUtils.isNumeric("12 3") = true
+ * StringUtils.isNumeric("ab2c") = false
+ * StringUtils.isNumeric("12-3") = false
+ * StringUtils.isNumeric("12.3") = false
+ * </pre>
+ *
* @param str the String to check, may be null
* @return <code>true</code> if only contains digits or space,
* and is non-null
@@ -3262,6 +3356,37 @@
for (int i = 0; i < sz; i++) {
if ((Character.isDigit(str.charAt(i)) == false) &&
(str.charAt(i) != ' ')) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * <p>Checks if the String contains only whitespace.</p>
+ *
+ * <p><code>null</code> will return <code>false</code>.
+ * An empty String ("") will return <code>true</code>.</p>
+ *
+ * <pre>
+ * StringUtils.isWhitespace(null) = false
+ * StringUtils.isWhitespace("") = true
+ * StringUtils.isWhitespace(" ") = true
+ * StringUtils.isWhitespace("abc") = false
+ * StringUtils.isWhitespace("ab2c") = false
+ * StringUtils.isWhitespace("ab-c") = false
+ * </pre>
+ *
+ * @param str the String to check, may be null
+ * @return <code>true</code> if only contains whitespace, and is non-null
+ */
+ public static boolean isWhitespace(String str) {
+ if (str == null) {
+ return false;
+ }
+ int sz = str.length();
+ for (int i = 0; i < sz; i++) {
+ if ((Character.isWhitespace(str.charAt(i)) == false) ) {
return false;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]