Video giải thích chi tiết
Xem lý thuyết tại:
https://docs.oracle.com/javase/tutorial/java/generics/types.html
Generic là gì?
Khái niệm generic được đưa vào kể từ java 5.
Thuật ngữ “generic” được hiểu là tham số hóa kiểu dữ liệu. Việc tham số hóa kiểu dữ liệu giúp cho lập trình viên có thể dễ bắt lỗi các kiểu dữ liệu không hợp lệ, đồng thời giúp dễ dàng hơn cho việc tạo và sử dụng các class, interface, method với nhiều kiểu dữ liệu khác nhau.
Loại quy ước đặt tên tham số
Theo quy ước, tên tham số kiểu là các chữ cái viết hoa, đơn lẻ. Điều này trái ngược hẳn với các quy ước đặt tên biến mà bạn đã biết, và có lý do chính đáng: Nếu không có quy ước này, sẽ rất khó để phân biệt giữa một biến kiểu và một lớp thông thường hoặc tên giao diện.
Các tên tham số kiểu được sử dụng phổ biến nhất là:
E - Element (được sử dụng rộng rãi bởi Java Collections Framework)
K - Chìa khóa
N - Số
T - Loại
V - Giá trị
S, U, V, v.v. - Loại thứ 2, 3, 4
Code chi tiết
package main; public class Box { private int value; public Box(int value) { this.value = value; } /** * @return the value */ public int getValue() { return value; } /** * @param value the value to set */ public void setValue(int value) { this.value = value; } }
package main; public class TestBox { public static void main(String[] args) { Box box = new Box(15); System.out.println("Giá trị: "+ box.getValue()); // Box box = new Box(15.5); => Báo lỗi // Box box = new Box("Mười lăm")=> Báo lỗi } }
package main; public class Box2<T> { private T value; public Box2(T value) { this.value = value; } /** * @return the value */ public T getValue() { return value; } /** * @param value the value to set */ public void setValue(T value) { this.value = value; } }
package main; import java.util.ArrayList; import java.util.Set; import java.util.TreeSet; public class TestJava { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); ArrayList<Double> list2 = new ArrayList<Double>(); Set<Float> set = new TreeSet<Float>(); } }
Không có nhận xét nào:
Đăng nhận xét