Java では、複雑な式を処理するときに String 配列内の整数を識別するという問題が発生します。ここでは、指定された String が整数として適格かどうかを判断するメソッドを検討します。
単純なアプローチは、String を走査し、各文字が有効な数字であることを確認することです。指定された基数。これにより、すべての要素が確実に精査されます。ただし、実用的な目的では、最適な効率が提供されます:
public static boolean isInteger(String s) { return isInteger(s, 10); } public static boolean isInteger(String s, int radix) { if (s.isEmpty()) { return false; } for (int i = 0; i < s.length(); i++) { if (i == 0 && s.charAt(i) == '-') { if (s.length() == 1) { return false; } else { continue; } } if (Character.digit(s.charAt(i), radix) < 0) { return false; } } return true; }
代わりに、Java ライブラリは例外のないメカニズムを提供します:
public static boolean isInteger(String s, int radix) { Scanner sc = new Scanner(s.trim()); if (!sc.hasNextInt(radix)) { return false; } // Ensures there's no remaining data after extracting the integer sc.nextInt(radix); return !sc.hasNext(); }
気楽なアプローチを持つ人向けに、次の疑わしいテクニックでは例外が使用されます。処理:
public static boolean isInteger(String s) { try { Integer.parseInt(s); } catch (NumberFormatException | NullPointerException e) { return false; } // Success if no exceptions occurred return true; }
結論として、Java で String が整数を表すかどうかを判断するには、効率と実装スタイルを慎重に考慮する必要があります。ここで説明する方法により、さまざまなシナリオに合わせた複数のオプションが提供されます。
以上がJava 文字列が整数を表しているかどうかを効率的に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。