Chuyển đổi kiểu
1. Chuyển đổi giữa các kiểu cơ bản
Java tự động chuyển đổi trị thuộc kiểu nào đó thành trị thuộc kiểu khác lớn hơn, khi có nhu cầu. Chẳng hạn, chuyển đổi short hoặc int thành long, chuyển đổi float thành double, hay số nguyên thành số thực. Các trường hợp chuyển đổi như vậy không làm mất mát thông tin.
Trường hợp chuyển đổi các kiểu số thực (float, double) thành số nguyên (byte, short, int, long), và việc chuyển đổi các kiểu lớn thành các kiểu nhỏ hơn như long thành int, kết quả tính toán có thể thiếu chính xác, do đó Java không tự động thực hiện. Nếu muốn chuyển đổi ta phải tự làm lấy như sau: (NewType) Value
Ví dụ: Lấy kết quả nguyên của phép chia hai số thực x và y:
int i = (int) (x / y);
2. Chuyển đổi giữa các kiểu tham chiếu
Giả sử bạn có đối tượng thuộc lớp con Child và cần chuyển đổi thành đối tượng thuộc lớp cha ông Parent.Java cho phép dùng đối tượng Child một cách tự nhiên ở bất cứ chỗ nào dành cho đối tượng Parent, ta không cần làm động tác chuyển đổi nào cả. Đối tượng Child có đầy đủ thuộc tính và hành vi của đối tượng Parent nên có thể “vào vai” đối tượng Parent. Nếu muốn, bạn cũng có thể chuyển đổi đối tượng thuộc lớp con cháu thành đối tượng thuộc lớp cha ông một cách tường minh, nhưng không cần thiết :
Child c = new Child(); Parent p = (Parent) ;
Java chỉ cho phép chuyển đổi đối tượng thuộc lớp con cháu thành đối tượng của lớp cha ông, và không cho chuyển ngược lại
3. Chuyển đổi kiểu cơ bản thành kiểu tham chiếu
Trong gói java.lang có sẵn những lớp tương ứng với các kiểu cơ bản gọi là lớp bọc kiểu: lớp Integer với kiểu int, lớp Boolean với kiểu boolean, lớp Float với kiểu float, lớp Double với kiểu double… Lớp Number là lớp cha của mọi lớp bọc kiểu. Các lớp bọc kiểu cung cấp các hàm giúp bạn nhiều việc mà các kiểu cơ bản không thể đảm đương
Chẳng hạn, muốn cho kiểu int chuyển thành một đối tượng thuộc lớp Integer :
Integer intObj = new Integer(25);
Lấy giá trị nguyên mà đối tượng intObj nắm giữ :
int i = intObj.intValue();
Trương Đình Huy
» Tin mới nhất:
» Các tin khác: