Rumah >Java >javaTutorial >Adakah Terdapat Cara yang Lebih Cekap untuk Memeriksa sama ada Rentetan Java Mewakili Integer?
Cara Mengesahkan Secara Berkesan jika String Mewakili Integer dalam Java
Keperluan untuk mengesahkan sama ada rentetan mengandungi nilai integer adalah perkara biasa tugas dalam pengaturcaraan. Walaupun pendekatan tradisional menggunakan Integer.parseInt() dan mengendalikan potensi pengecualian boleh dipercayai, ia boleh dianggap sebagai agak menyusahkan. Artikel ini meneroka penyelesaian alternatif yang menawarkan prestasi yang lebih baik.
Pendekatan Alternatif
Cadangan Jonas Klemming menawarkan alternatif yang cekap kepada kaedah konvensional. Fungsi ini menyemak setiap aksara dalam rentetan secara berurutan, mengesahkan bahawa ia berada dalam julat digit (0 hingga 9). Berikut ialah kodnya:
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; }
Analisis Prestasi
Melalui penanda aras yang meluas, didapati pendekatan alternatif ini mengatasi prestasi Integer.parseInt(), terutamanya apabila berurusan dengan data bukan integer. Prestasi yang dipertingkatkan ini dikaitkan dengan fakta bahawa fungsi memeriksa secara langsung aksara rentetan, memintas overhed yang dikaitkan dengan penghuraian dan pengendalian pengecualian.
Kesimpulan
Manakala Integer tradisional Kaedah .parseInt() ialah pilihan mudah untuk pengesahan integer, penyelesaian alternatif Jonas Klemming menawarkan kelebihan prestasi tanpa menjejaskan ketepatan. Untuk aplikasi yang membimbangkan kecekapan, terutamanya apabila mengendalikan sejumlah besar data bukan integer, pendekatan alternatif ialah pilihan yang sesuai.
Atas ialah kandungan terperinci Adakah Terdapat Cara yang Lebih Cekap untuk Memeriksa sama ada Rentetan Java Mewakili Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!