ホームページ > Java > &#&チュートリアル > Java文字列が整数を表しているかどうかをより速く確認する方法はありますか?

Java文字列が整数を表しているかどうかをより速く確認する方法はありますか?

DDD
リリース: 2024-12-11 20:52:12
オリジナル
314 人が閲覧しました

Is There a Faster Way to Check if a Java String Represents an Integer?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート