Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Memeriksa dengan Cekap sama ada String Mewakili Integer dalam Java?

Bagaimanakah Saya Boleh Memeriksa dengan Cekap sama ada String Mewakili Integer dalam Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-10 22:09:11412semak imbas

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

Pemeriksaan Rentetan Integer yang Cekap dalam Java

Menyemak sama ada String boleh ditukar kepada integer ialah tugas biasa dalam pembangunan perisian. Pendekatan standard melibatkan penggunaan kaedah Integer.parseInt() dalam blok cuba-tangkap. Walau bagaimanapun, kaedah ini boleh menjadi perlahan apabila mengendalikan data bukan integer.

Pemeriksaan Integer Tersuai

Pendekatan alternatif adalah untuk melaksanakan fungsi tersuai yang berulang melalui String dan mengesahkan setiap aksara seperti berikut:

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

Fungsi ini menyemak sama ada String adalah batal, kosong, mempunyai negatif terkemuka tanda, dan terdiri daripada digit semata-mata.

Perbandingan Prestasi

Tanda aras mendedahkan bahawa fungsi tersuai mengatasi Integer.parseInt() kira-kira 20-30 kali ganda untuk bukan integer data. Walaupun Integer.parseInt() kekal lebih pantas untuk rentetan integer yang sah, fungsi tersuai menawarkan faedah kelajuan yang ketara apabila berurusan dengan sejumlah besar data yang mungkin mengandungi bukan integer.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa dengan Cekap sama ada String Mewakili Integer dalam 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