Java 66. Tìm hiểu về Generic trong lập trình Java



    Bản quyền thuộc về TITV.vn, 
    vui lòng không đăng tải lại nội dung từ trang này.

    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;

    public class TestBox2 {
    public static void main(String[] args) {
    Box2 b1 = new Box2<Integer>(15);
    System.out.println("Giá trị: "+ b1.getValue());
    Box2 b2 = new Box2<String>("Hello TITV!");
    System.out.println("Giá trị: "+ b2.getValue());
    Box2 b3 = new Box2<Double>(15.5);
    System.out.println("Giá trị: "+ b3.getValue());
    }
    }
    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