Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Rentetan Java Mewakili Integer?

Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Rentetan Java Mewakili Integer?

Mary-Kate Olsen
Lepaskan: 2024-12-29 10:53:10
asal
915 orang telah melayarinya

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

Menentukan sama ada String Mewakili Integer dalam Java

Di Java, persoalan mengenal pasti integer dalam tatasusunan String timbul apabila mengendalikan ungkapan kompleks. Di sini, kita akan meneroka kaedah untuk menentukan sama ada String yang diberikan layak sebagai integer.

Kaedah IsInteger

Pendekatan naif ialah melintasi String, mengesahkan bahawa setiap aksara ialah digit yang sah dalam radix yang ditentukan. Ini memastikan bahawa setiap elemen diteliti. Walau bagaimanapun, untuk tujuan praktikal, ia menawarkan kecekapan optimum:

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;
}
Salin selepas log masuk

Pendekatan Perpustakaan Java

Sebagai alternatif, perpustakaan Java menawarkan mekanisme tanpa pengecualian:

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();
}
Salin selepas log masuk

Teknik Bukan Standard

Bagi mereka yang mempunyai pendekatan yang ringan, teknik yang boleh dipersoalkan berikut menggunakan pengecualian pengendalian:

public static boolean isInteger(String s) {
    try {
        Integer.parseInt(s);
    } catch (NumberFormatException | NullPointerException e) {
        return false;
    }
    // Success if no exceptions occurred
    return true;
}
Salin selepas log masuk

Sebagai kesimpulan, menentukan sama ada String mewakili integer dalam Java memerlukan pertimbangan yang teliti terhadap kecekapan dan gaya pelaksanaan. Kaedah yang dibincangkan memperkasakan anda dengan pelbagai pilihan yang disesuaikan dengan pelbagai senario.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Cekap jika Rentetan Java Mewakili Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan