menu

VanThuong.Com

Blog học lập trình Java và SEO miễn phí.

Tìm hiểu Numbers Class trong Java

Posted by on
Thông thường, khi chúng ta làm việc với các kiểu số, chúng ta sử dụng các kiểu dữ liệu nguyên thủy như: byte, int, long, double,...

Ví dụ:
int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;

Tuy nhiên, khi chúng ta lập trình sẽ gặp một số trường hợp cần phải sử dụng đối tượng thay vì các kiểu dữ liệu nguyên thủy. Trong Java có cung cấp cho chung ta các lớp được gọi là wrapper classes.

Wrapper classes bao gồm các lớp: Integer, Long, Byte, Double, Float, Short. Toàn bộ chúng là các lớp con của lớp abstract có tên là Number.

Tìm hiểu Numbers Class trong Java

Đối tượng của Wrapper class bao gồm hoặc đóng gói kiểu dữ liệu nguyên thủy tương ứng của nó. Khi chúng ta chuyển đổi từ một kiểu dữ liệu nguyên thủy bất kỳ sang Object thì nó gọi là boxing (bạn có thể hiểu nó là đóng gói). Nếu như bạn cần tạo ra đối tượng của bất kỳ một Wrapper class nào đó thì chỉ cần truyền giá trị của kiểu dữ liệu nguyên thủy vào constructor (hàm khởi tạo) của lớp đó.

Tương tự, khi bạn chuyển đổi đối tượng của Wrapper class về lại kiểu dữ liệu nguyên thủy thì nó gọi là un-boxing.

Dưới đây là một ví dụ nhỏ về boxing và unboxing

public class Test {

  public static void main(String args[]){
      Integer x = 5; // boxes int to an Integer object
      x =  x + 10;   // unboxes the Integer to a int
      System.out.println(x); 
   }
}

Trong ví dụ trên, khi x được gán giá trị là integer thì trình biên dịch sẽ đóng gói nó thành Integer bởi vì lúc này x là một đối tượng Integer. Sau đó, x được unbox thì nó có thể thực hiện phép cộng như một kiểu số nguyên bình thường.

Các phương thức của Number

Phương thức & mô tả
xxxValue()
Chuyển đổi giá trị của đối tượng Number sang kiểu dữ liệu xxx và trả về.
compareTo()
So sánh đối tượng Number với đối số của nó.
equals()
Dùng để kiểm tra đối tượng Number có bằng với đối số đầu vào hay không.
valueOf()
Trả về đối tượng Number giữ giá trị nguyên thủy được chỉ định đã truyền vào đối số của phương thức.
toString()
Trả về một đối tượng String của giá trị hiện hành của đối tượng Number.
parseXXX()
Phương thức này sẽ parse giá trị của một giá trị có kiểu dữ liệu nguyên thủy hoặc String sang kiểu Number tương ứng.

Trên đây là một số phương thức mà bạn có thể dùng với các đối tượng của lớp Number. Để chi tiết hơn thì mình khuyến nghị các bạn nên ghé thăm các liên kết bên dưới đây để biết chi tiết các lớp Wrapper cụ thể nó có những phương thức gì và nó làm việc như thế nào.

Nhìn chung thì các lớp kế thừa của Number hoạt động khá giống nhau. Tuy nhiên, vì đặc điểm của mỗi kiểu dữ liệu khác nhau mà sẽ có những thay đổi tương ứng. Mình nghĩ các bạn sẽ tiếp cận nó nhanh thôi, hay bỏ ra một chút xíu time để xem qua các link document mà mình đưa ở trên nhé.
Đăng bình luận

menu