Rumah >Java >javaTutorial >Adakah Terdapat Cara yang Lebih Cekap untuk Memeriksa Sama ada String Mewakili Integer di Java?

Adakah Terdapat Cara yang Lebih Cekap untuk Memeriksa Sama ada String Mewakili Integer di Java?

Barbara Streisand
Barbara Streisandasal
2024-12-22 01:27:21929semak imbas

Is There a More Efficient Way to Check if a String Represents an Integer in Java?

Menentukan jika String Mewakili Integer dalam Java

Keperluan untuk memastikan sama ada String layak sebagai perwakilan integer adalah perkara biasa dalam pengaturcaraan Java . Kaedah lazim melibatkan penggunaan fungsi Integer.parseInt(), yang disertakan dalam blok cuba-tangkap. Walau bagaimanapun, sesetengah orang mungkin menganggap pendekatan ini sebagai menyusahkan. Adakah terdapat penyelesaian yang lebih cekap?

Alternatif Berorientasikan Prestasi

Untuk senario di mana potensi limpahan integer tidak menjadi kebimbangan, fungsi disesuaikan tersuai menawarkan peningkatan prestasi yang luar biasa , mengatasi prestasi Integer.parseInt() dengan faktor sebanyak 20-30.

public static boolean isInteger(String str) {
    if (str == null || str.length() == 0) {
        return false;
    }
    int i = 0;
    if (str.charAt(0) == '-') {
        if (str.length() == 1) {
            return false;
        }
        i = 1;
    }
    for (; i < str.length(); i++) {
        char c = str.charAt(i);
        if (c < '0' || c > '9') {
            return false;
        }
    }
    return true;
}

Fungsi ini menganalisis aksara String mengikut aksara, mengesahkan kehadiran digit yang sah. Pendekatan ini memintas overhed yang dikaitkan dengan penghuraian dan pengendalian pengecualian, menghasilkan masa pelaksanaan yang jauh lebih pantas.

Atas ialah kandungan terperinci Adakah Terdapat Cara yang Lebih Cekap untuk Memeriksa Sama ada String Mewakili Integer di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn