Mức độ kiến thức yêu cầu gần đúng: Tìm kiếm Cú pháp Java và một chút Java Core.
Khi kết thúc nhiệm vụ JavaRush đầu tiên, chúng ta tìm hiểu về chuyển đổi loại. Trong bài giảng cấp 10, bạn có thể thấy rằng việc chuyển đổi int
sang String
rất đơn giản và nói chung, hầu hết mọi kiểu nguyên thủy đều có thể được chuyển đổi sang String
mà không gặp vấn đề gì.
int x = 5;
String text = "X=" + x;
Ngoài ra, những người đã hoàn thành cấp độ 10 của nhiệm vụ Cú pháp Java đều biết rằng không thể chuyển đổi tham chiếu thành số thành tham chiếu thành chuỗi. Vậy cách tốt nhất để chuyển đổi một chuỗi thành số nguyên nguyên thủy là gì? Tốt hơn là làm điều này bằng cách sử dụng phương thức parseInt
lớp Integer
. Phương thức này parseInt
phải chuyển đổi String
và int
ném ra một ngoại lệ NumberFormatException
nếu chuỗi không thể chuyển đổi thành kiểu int
.
Ví dụ
Dòng cơ bản chuyển đổi một chuỗi thành một số nguyên:
int i = Integer.parseInt (myString);
Nếu chuỗi được biểu thị bằng biến myString
là số nguyên hợp lệ, chẳng hạn như "1", "200", Java sẽ âm thầm chuyển đổi chuỗi đó thành kiểu dữ liệu nguyên thủy int
. Nếu vì lý do nào đó điều này không thành công, một hành động như vậy có thể đưa ra một ngoại lệ NumberFormatException
, vì vậy để chương trình hoạt động chính xác với bất kỳ chuỗi nào, chúng ta cần thêm một chút mã. Chương trình thể hiện phương pháp chuyển đổi Java String
sang int
, kiểm soát các khả năng NumberFormatException
:
public class JavaStringToIntExample
{
public static void main (String[] args)
{
String s = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
Cuộc thảo luận
Khi nghiên cứu ví dụ trên, bạn sẽ thấy phương thức này Integer.parseInt (s.trim ())
được sử dụng để biến một chuỗi s
thành một số nguyên i
và điều này xảy ra trong dòng mã sau:
int i = Integer.parseInt (s.trim ())
Nhưng đôi khi việc chuyển đổi một chuỗi thành một số sẽ không hiệu quả. Trong ví dụ của chúng tôi, chuỗi như vậy có tên là fred. Chúng ta có thể nói về những mật mã trong đó các chữ cái được viết trên máy tính, nhưng nói một cách chính thức thì fred không phải là một con số và tốt hơn là nên để nó dưới dạng một chuỗi. Chương trình của chúng tôi được thiết kế sao cho nếu bạn cố gắng chuyển đổi "fred" thành một số, quy trình Integer parseInt
sẽ đưa ra một ngoại lệ NumberFormatException
mà bạn phải xử lý trong một khối try / catch
. Trong trường hợp này bạn không phải sử dụng phương thức trim ()
lớp String
, nhưng trong lập trình thực tế bạn nên sử dụng nó. Vì vậy, chúng tôi đã cho bạn thấy nó. Vì chủ đề này đã xuất hiện nên đây là một số “gợi ý” về chủ đề lớp học String
và Integer
:
Integer.toString (int i)
được sử dụng để chuyển đổi int
thành chuỗi Java.
- Nếu bạn muốn chuyển đổi một đối tượng
String
thành một đối tượng Integer
(chứ không phải một lớp nguyên thủy int
), hãy sử dụng phương thức valueOf ()
trên lớp Integer
thay vì phương thức parseInt ()
.
- Nếu bạn cần chuyển đổi chuỗi thành các trường Java nguyên thủy bổ sung, hãy sử dụng các phương thức như thế này
Long.parseLong ()
.
Trả lời bởi: Alice Watson
GO TO FULL VERSION