Stringの空判定について:
コードをコピーすると、コードは次のようになります:これは正しいです
if (selection != null && !selection.equals("")) {
whereClause += 選択;
}
//これは間違っています
if (!selection.equals("") && 選択 != null) {
whereClause += 選択;
}
注: 「==」は 2 つの変数自体の値、つまりメモリ内の 2 つのオブジェクトの最初のアドレスを比較します。そして、「equals()」は文字列に含まれる内容が同じかどうかを比較します。 2 番目の記述方法では、選択範囲が実際に null になると、equals メソッドの実行時に null ポインタ例外が直接報告され、実行は続行されません。
文字列が数値かどうかを判断します。
次のようにコードをコピーします。
// Java に付属の関数を呼び出す
public static boolean isNumeric(文字列数値) {
for (int i =number.length(); --i >= 0;) {
if (!Character.isDigit(number.charAt(i))) {
false を返します。
}
}
true を返します。
}
// 正規表現を使用する
public static boolean isNumeric(文字列数値) {
パターン pattern = Pattern.compile("[0-9]*");
戻り pattern.matcher(str).matches();
}
//ASCIIコードを使用する
public static boolean isNumeric(文字列数値) {
for (int i = str.length(); --i >= 0;) {
int chr = str.charAt(i);
if (chr < 48 || chr > 57)
false を返します。
}
true を返します。
}