以下是java 判斷字符串是否爲空的四種方法:
方法一: 最多人使用的一個方法, 直觀, 方便, 但效率很低:
if(s == null ||"".equals(s));
方法二: 比較字符串長度, 效率高, 是我知道的最好一個方法:
if(s == null || s.length() <= 0);
方法三: Java SE 6.0 纔開始提供的方法, 效率和方法二幾乎相等, 但出於兼容性考慮, 推薦使用方法二.
if(s == null || s.isEmpty());
方法四: 這是一種比較直觀,簡便的方法,而且效率也非常的高,與方法二、三的效率差不多:
if (s == null || s == "");
注意:s == null 是有必要存在的.
如果 String 類型爲null, 而去進行 equals(String) 或 length() 等操作會拋出java.lang.NullPointerException.
並且s==null 的順序必須出現在前面,不然同樣會拋出java.lang.NullPointerException.
如下Java代碼:
String str = null;
if(str.equals("") || str= == null){//會拋出異常
System.out.println("success");
}
// "".equals(str);後置確保不會遇null報錯。
一下是判斷字符串是否爲數字的方法:
1.用JAVA自帶的函數
public static boolean isNumeric(String str){
for (int i = 0; i < str.length(); i++){
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
2.用正則表達式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
3.使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html下面的解釋:
isNumeric
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
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
Parameters:
str - the String to check, may be null
Returns:
true if only contains digits, and is non-null
上面三種方式中,第二種方式比較靈活。
第一、三種方式只能校驗不含負號“-”的數字,即輸入一個負數-199,輸出結果將是false;
而第二方式則可以通過修改正則表達式實現校驗負數,將正則表達式修改爲“^-?[0-9]+”即可,修改爲“-?[0-9]+.?[0-9]+”即可匹配所有數字。