文字列null判定について:
//这是对的 if (selection != null && !selection.equals("")) { whereClause += selection; } //这是错的 if (!selection.equals("") && selection != null) { whereClause += selection; }
注: 「==」は2つの変数そのものの値、つまりメモリ上の2つのオブジェクトの先頭アドレスを比較します。そして、「equals()」は文字列に含まれる内容が同じかどうかを比較します。 2 番目の記述方法では、選択が実際に null になると、equals メソッドの実行時に null ポインタ例外が直接報告され、実行は続行されません。
文字列が数値であるかどうかを判断するには:
// 调用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 中国語 Web サイトに注目してください。