首頁 >Java >java教程 >如何有效率地判斷Java字串是否代表整數?

如何有效率地判斷Java字串是否代表整數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-29 10:53:10930瀏覽

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

在 Java 中確定字串是否表示整數

在 Java 中,在處理複雜表達式時會出現識別字串陣列中整數的問題。在這裡,我們將探索確定給定字串是否符合整數的方法。

IsInteger 方法

一個簡單的方法是遍歷字串,驗證每個字元是否是有效數字指定的基數。這確保了每個元素都受到仔細審查。然而,出於實際目的,它提供了最佳效率:

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 函式庫方法

或者,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中文網其他相關文章!

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