ホームページ >Java >&#&チュートリアル >Java で文字列が整数を表しているかどうかを効率的に確認するにはどうすればよいですか?

Java で文字列が整数を表しているかどうかを効率的に確認するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-10 22:09:11412ブラウズ

How Can I Efficiently Check if a String Represents an Integer in Java?

Java での整数文字列の効率的なチェック

文字列を整数に変換できるかどうかのチェックは、ソフトウェア開発における一般的なタスクです。標準的なアプローチでは、try-catch ブロック内で Integer.parseInt() メソッドを使用します。ただし、非整数データを処理する場合、このメソッドは遅くなる可能性があります。

カスタム整数チェック

別のアプローチは、文字列と文字列を反復処理するカスタム関数を実装することです。各文字を次のように検証します:

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;
}

この関数は、文字列が null であるか、空であるか、先頭に文字列があるかどうかをチェックします。

パフォーマンスの比較

ベンチマークにより、カスタム関数が非関数の Integer.parseInt() よりも約 20 ~ 30 倍優れていることがわかります。整数データ。 Integer.parseInt() は有効な整数文字列の場合は依然として高速ですが、カスタム関数は非整数を含む可能性のある大量のデータを処理する場合に速度の大幅な利点をもたらします。

以上がJava で文字列が整数を表しているかどうかを効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。