關於 String 的判空:
//这是对的 if (selection != null && !selection.equals("")) { whereClause += selection; } //这是错的 if (!selection.equals("") && selection != null) { whereClause += selection; }
註:「==」比較兩個變數本身的值,即兩個物件在記憶體中的首位址。而「equals()」比較字串中所包含的內容是否相同。第二種寫法中,一旦 selection 真的為 null,則在執行 equals 方法的時候會直接報空指標異常導致不再繼續執行。
判斷字串是否為數字:
// 调用java自带的函数 public static boolean isNumeric(String number) { for (int i = number.length(); --i >= 0;) { if (!Character.isDigit(number.charAt(i))) { return false; } } return true; } // 使用正则表达式 public static boolean isNumeric(String number) { Pattern pattern = Pattern.compile("[0-9]*"); return pattern.matcher(str).matches(); } // 利用ASCII码 public static boolean isNumeric(String number) { for (int i = str.length(); --i >= 0;) { int chr = str.charAt(i); if (chr < 48 || chr > 57) return false; } return true; }
更多Java判斷字串為空、字串是否為數字相關文章請關注PHP中文網!