Bài đăng

Đang hiển thị bài đăng từ Tháng 5, 2019

AUTOBOXING TRONG JAVA

Hình ảnh
[AUTOBOXING TRONG JAVA] Boxing, unboxing là một khái niệm liên quan giữa kiểu nguyên thủy (primitive type) và các lớp bao (Wrapper) tương ứng. Hiểu đơn giản, boxing là chuyển đổi từ kiểu nguyên thủy thành lớp bao, unboxing là chuyển từ lớp bao về kiểu nguyên thủy. Để hiểu rõ vấn đề hơn, hãy xem ví dụ dưới. Giả dụ ta muốn tạo một Collection với kiểu nguyên, ta bắt buộc phải dùng lớp Integer vì Collection không chấp nhận kiểu dữ liệu nguyên thủy. Sau khi tạo Collection, khi ta muốn lấy giá trị Integer ra là một kiểu nguyên thủy int, ta phải lấy nó ra dưới dạng một thể hiện của Integer, và dùng hàm intValue để unboxing các thể hiện của Integer thành kiểu nguyên thủy int. Việc boxing và unboxing liên tục trong dòng code khiến cho việc viết code trở nên rắc rối, chính vì thế kể từ Java 1.5 trở đi, khái niệm Autoboxing ra đời. Sự xuất hiện của autoboxing giúp người dùng làm mờ đi khoảng cách giữa lớp bao và kiểu nguyên thủy, khi nó có thể tự động chuyển đổi qua lại với nhau, nhưng họ v...

Arrays trong Java

Hình ảnh
Arrays trong Java 1.        Khái niệm Mảng trong Java được định nghĩa như sau: Mảng là một đối tượng chứa các thành phần của cùng một kiểu dữ liệu có kích thước cố định. Ta hiểu như sau: - Mảng là một đối tượng - Các thành phần (hay còn gọi là phần tử) của mảng có cùng một kiểu dữ liệu - Mảng có kích thước cố định Mỗi phần tử được định một giá trị riêng biệt gọi là chỉ số (index) Chúng ta sẽ đưa ra ví dụ để hiểu hơn về mảng. Mảng trên có tên là A, là một mảng gồm 5 phần tử (hay kích thước của mảng là 5). Ta có phần tử tại chỉ số thứ 3 là phần tử 9. 2.        Khai báo, khởi tạo Khai báo Giả sử ta khai báo một mảng số nguyên, ta khai báo như sau int[] a; Ta thấy sau chữ int có dấu [], đây là dấu để xác định đây là một mảng thuộc kiểu int. Chúng ta có thể thay đổi thành kiểu dữ liệu khác như byte[], long[], char[],… Ngoài ra, ta còn có thể khai báo bằng cách này. int a[]; Đây là một cách ...