首頁 >Java >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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn