Memahami Penukaran String ke int dalam Java
Menukar rentetan kepada integer ialah tugas biasa dalam pengaturcaraan Java. Selalunya, anda perlu menukar nilai berangka yang diwakili sebagai rentetan kepada setara integernya untuk pelbagai pengiraan dan operasi. Penukaran ini adalah mudah dan boleh dicapai menggunakan beberapa kaedah yang disediakan oleh bahasa Java.
Dalam artikel ini, kita akan meneroka teknik yang berbeza untuk menukar rentetan kepada integer dalam Java. Sama ada anda berurusan dengan input pengguna, menghuraikan data atau memproses rentetan daripada fail, mengetahui cara melaksanakan penukaran ini dengan cekap dan tepat adalah penting untuk mana-mana pembangun Java.
Perintah | Penerangan |
---|---|
Integer.parseInt() | Menukar rentetan kepada int primitif. Membuang NumberFormatException jika rentetan tidak boleh dihuraikan sebagai integer. |
Integer.valueOf() | Menukar rentetan kepada objek Integer. Sama seperti parseInt, tetapi mengembalikan objek Integer dan bukannya int primitif. |
Scanner | Kelas dalam pakej java.util yang digunakan untuk mendapatkan input jenis primitif seperti int, double, dsb., dan rentetan. Digunakan untuk menghuraikan rentetan input. |
nextLine() | Kaedah kelas Pengimbas yang memajukan pengimbas melepasi baris semasa dan mengembalikan input yang telah dilangkau. |
try-catch | Blok kod yang digunakan untuk mengendalikan pengecualian. Kod dalam blok cuba dilaksanakan, dan jika pengecualian berlaku, blok tangkapan dilaksanakan. |
NumberFormatException | Subkelas IllegalArgumentException dilemparkan apabila percubaan untuk menukar rentetan kepada jenis angka gagal. |
Memahami Kaedah Penukaran String to int
Skrip yang disediakan menunjukkan pelbagai kaedah untuk menukar rentetan kepada integer dalam Java. Kaedah pertama menggunakan Integer.parseInt() perintah, yang merupakan cara mudah untuk menghuraikan rentetan yang mengandungi perwakilan integer yang sah ke dalam jenis int. Kaedah ini cekap dan melontar a NumberFormatException jika rentetan tidak boleh dihuraikan. Skrip kedua menggunakan Integer.valueOf(), yang serupa dengan Integer.parseInt() tetapi mengembalikan an Integer objek dan bukannya int primitif. Ini boleh berguna apabila bekerja dengan koleksi atau struktur data lain yang memerlukan objek dan bukannya jenis primitif.
Contoh ketiga memperkenalkan Scanner kelas daripada java.util pakej, yang berguna untuk membaca input daripada pelbagai sumber, termasuk input pengguna. The nextLine() kaedah kelas Pengimbas membaca baris input seterusnya sebagai rentetan, yang kemudiannya ditukar kepada int menggunakan Integer.parseInt(). Kaedah ini amat berguna apabila anda perlu mengendalikan input pengguna secara dinamik. Skrip keempat menambah lapisan pengendalian ralat menggunakan a try-catch blok untuk menangkap NumberFormatException. Ini memastikan bahawa jika rentetan tidak boleh dihuraikan sebagai integer, program boleh mengendalikan ralat dengan anggun tanpa ranap.
Menukar String kepada Integer dalam Java Menggunakan Integer.parseInt
Menggunakan kelas Integer terbina dalam Java
public class StringToIntExample1 {
public static void main(String[] args) {
String str = "1234";
int number = Integer.parseInt(str);
System.out.println("Converted number: " + number);
}
}
Rentetan kepada Penukaran Integer Menggunakan Integer.valueOf dalam Java
Melaksanakan kaedah Integer.valueOf Java
public class StringToIntExample2 {
public static void main(String[] args) {
String str = "1234";
int number = Integer.valueOf(str);
System.out.println("Converted number: " + number);
}
}
Menukar String kepada Integer dalam Java Menggunakan Pengimbas
Menggunakan kelas Pengimbas Java untuk penukaran
import java.util.Scanner;
public class StringToIntExample3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number: ");
String str = scanner.nextLine();
int number = Integer.parseInt(str);
System.out.println("Converted number: " + number);
}
}
Menukar String kepada Integer dalam Java Menggunakan try-catch untuk Pengendalian Ralat
Menggabungkan pengendalian ralat dengan blok cuba-tangkap dalam Java
public class StringToIntExample4 {
public static void main(String[] args) {
String str = "1234a";
try {
int number = Integer.parseInt(str);
System.out.println("Converted number: " + number);
} catch (NumberFormatException e) {
System.out.println("Invalid number format");
}
}
}
Meneroka Kaedah Penukaran Rentetan Alternatif kepada Integer
Selain kaedah yang telah dibincangkan, cara lain untuk menukar rentetan kepada integer dalam Java melibatkan penggunaan perpustakaan pihak ketiga seperti Apache Commons Lang. The NumberUtils kelas dari perpustakaan ini menyediakan kaedah utiliti, NumberUtils.toInt(), yang boleh digunakan untuk penukaran. Kaedah ini amat berguna kerana ia menyediakan ciri tambahan seperti mengembalikan nilai lalai jika penukaran gagal, mengelakkan pengecualian dan menjadikan kod lebih mantap.
Kaedah lain yang menarik ialah menggunakan DecimalFormat kelas daripada java.text pakej. Walaupun digunakan terutamanya untuk memformat nombor perpuluhan, ia juga boleh menghuraikan rentetan kepada nombor. Dengan mencipta contoh daripada DecimalFormat dan menggunakannya parse() kaedah, rentetan boleh ditukar kepada nombor dan kemudian dihantar ke integer. Pendekatan ini kurang biasa tetapi boleh berguna dalam senario tertentu di mana pemformatan nombor juga diperlukan. Memahami kaedah alternatif ini memberikan perspektif yang lebih luas tentang penukaran rentetan kepada integer dan membantu dalam memilih kaedah terbaik berdasarkan keperluan khusus aplikasi.
Soalan dan Jawapan Biasa tentang Penukaran Rentetan kepada Integer di Java
- Apakah yang berlaku jika rentetan mengandungi aksara bukan angka?
- Jika rentetan mengandungi aksara bukan angka, kaedah seperti Integer.parseInt() dan Integer.valueOf() akan membuang a NumberFormatException.
- Bagaimanakah saya boleh mengendalikan ralat penukaran dengan anggun?
- Anda boleh menggunakan a try-catch blok untuk menangkap NumberFormatException dan tangani ralat dengan anggun.
- Adakah terdapat cara untuk memberikan nilai lalai jika penukaran gagal?
- Ya, menggunakan Apache Commons Lang NumberUtils.toInt() kaedah, anda boleh menentukan nilai lalai untuk dikembalikan jika penukaran gagal.
- Bolehkah saya menukar rentetan dengan titik perpuluhan kepada integer?
- Menukar secara langsung rentetan sedemikian akan membuang pengecualian. Anda harus menghuraikannya terlebih dahulu kepada a float atau double, kemudian hantar ke an int.
- Apakah perbezaan antara Integer.parseInt() dan Integer.valueOf()?
- Integer.parseInt() mengembalikan int primitif, sedangkan Integer.valueOf() mengembalikan an Integer objek.
- Boleh saya guna Scanner untuk penukaran dalam aplikasi konsol?
- Ya, yang Scanner kelas sesuai untuk membaca input pengguna dan menukar rentetan kepada integer.
- Adakah terdapat kaedah untuk menukar rentetan kepada integer dalam satu baris kod?
- Ya, anda boleh gunakan Integer.parseInt() atau Integer.valueOf() dalam satu baris untuk menukar rentetan kepada integer.
Menggulung Perbincangan tentang Penukaran Rentetan kepada int
Menukar rentetan kepada integer dalam Java ialah kemahiran asas yang boleh dicapai menggunakan pelbagai kaedah. Memahami dan memilih kaedah yang betul bergantung pada keperluan khusus aplikasi anda. Sama ada anda menggunakan kaedah asas seperti Integer.parseInt() dan Integer.valueOf(), atau penyelesaian yang lebih mantap seperti Scanner kelas dan perpustakaan pihak ketiga, menguasai teknik ini memastikan anda boleh mengendalikan penukaran rentetan kepada integer dengan cekap dan berkesan.