Tentukan jika String Mewakili Integer dalam Java
Java tidak menyediakan kaedah mudah untuk menyemak sama ada rentetan ialah integer. Walau bagaimanapun, terdapat pelbagai pendekatan untuk mencapai ini:
Kaedah Naif:
Lelaran melalui rentetan dan pastikan semua aksara adalah digit yang sah untuk radix yang diberikan. Ini ialah kaedah yang paling cekap kerana ia memeriksa setiap aksara sekali sahaja.
Kaedah Berasaskan Perpustakaan:
Gunakan kelas Pengimbas Java untuk menyemak sama ada rentetan itu boleh dihuraikan sebagai integer bagi radix yang ditentukan. Kaedah ini lebih mahal daripada pendekatan naif tetapi mengendalikan pelbagai keadaan ralat.
Kaedah Pengendalian Pengecualian:
Gunakan kaedah parseInt bagi kelas Integer. Jika penghuraian berjaya, rentetan mewakili integer. Walau bagaimanapun, kaedah ini memberikan pengecualian untuk input tidak sah, yang mungkin tidak diingini.
Berikut ialah contoh pelaksanaan kaedah naif:
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; }
Akhirnya, kaedah terbaik untuk digunakan bergantung pada keperluan prestasi dan sama ada pengendalian pengecualian diutamakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Secara Berkesan jika Rentetan Java Mewakili Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!