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.
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; }
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(); }
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; }
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!