Java で文字列が整数を表すかどうかを効率的に確認する
Java では、文字列を解析して整数にできるかどうかを検証する従来のアプローチinteger は、try-catch ブロック内で Integer.parseInt() メソッドを利用します。ただし、この方法は最も効率的または洗練されたソリューションではない可能性があります。
より効率的な代替方法は、入力文字列の文字を手動で繰り返し、それぞれが有効な数字であることを確認するカスタム関数を実装することです (' 0 から 9 まで)。このメソッドにより、例外処理に関連するオーバーヘッドが排除されます。
次のカスタム関数は、整数をチェックするための高速かつ正確な方法を提供します:
public static boolean isInteger(String str) { if (str == null) { return false; } int length = str.length(); if (length == 0) { return false; } int i = 0; if (str.charAt(0) == '-') { if (length == 1) { return false; } i = 1; } for (; i < length; i++) { char c = str.charAt(i); if (c < '0' || c > '9') { return false; } } return true; }
ベンチマークでは、このカスタム関数が 20 回実行できることが示されています。非整数入力の場合、Integer.parseInt() よりも -30 倍高速です。保守性は若干劣るかもしれませんが、パフォーマンスが向上しているため、速度が重要なアプリケーションにとっては実行可能なオプションとなります。
以上がJava文字列が整数を表しているかどうかをより速く確認する方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。