1. 程式人生 > 其它 >Qt學習筆記Day01:Qt入門

Qt學習筆記Day01:Qt入門

技術標籤:java泛型

1.泛型類

格式:在類名後面緊跟 <T>

// 泛型類,在類名後面緊跟<T>
public class Tool<T> {
	private T t;
	
	public T getT() {
		return t;
	}

	public void setT(T t) {
		this.t = t;
	}
}
public class Test {
	public static void main(String[] args) {
		// 把String型別傳進去
		Tool<String> dog = new Tool
<>(); dog.setT("狗"); System.out.println(dog.getT()); // 把Integer型別的資料傳進去 // int到Integer是一個裝箱過程 Tool<Integer> number = new Tool<>(); number.setT(18); // Integer到int是一個自動拆箱過程 int n = number.getT(); System.out.println(n); } }

Run:

在這裡插入圖片描述

2.泛型方法

格式:在方法的返回值前面面宣告泛型,方法裡面有多個引數,可在尖括號裡面加任意個<T t, E e>

public class Tool {
	
	public <T,E> void show(T t, E e) {
		System.out.println(t);
		System.out.println(e);
	}
}
public class Test {
	public static void main(String[] args) {
		// 傳入Integer型別個String型別
		Tool tool = new Tool();
		tool.show(1, "張三");
		
		// 傳入2個String型別
		System.out.println
(); tool.show("我", "Java"); } }

Run:

在這裡插入圖片描述

3.泛型萬用字元

import java.util.Arrays;
import java.util.List;

//泛型萬用字元
public class Test {
	public static void main(String[] args) {
		List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
		List<String> list2 = Arrays.asList("1", "2", "5");
		
		print(list);
		// print(list2); // 編譯出錯
		
		print2(list);
		print2(list2);
		
		print3(list);
		print3(list2);
	}
	
    // 用於對比
	public static void print(List<Integer> ls) {
		for (int i = 0; i < ls.size(); i++) {
			System.out.print(ls.get(i) + " ");
		}
		System.out.println();
	}
	
	// 寫法1
	public static void print2(List<?> ls) {
		for (int i = 0; i < ls.size(); i++) {
			System.out.print(ls.get(i) + " ");
		}
		System.out.println();
	}
	
	// 寫法2
	public static void print3(List<?> ls) {
        // 注意這裡的Object object
		for (Object object : ls) {
			System.out.print(object + " ");
		}
		System.out.println();
	}
	
}

Run:

在這裡插入圖片描述
注:本文是個人學習Java過程中的一些理解與心得,以理解為主,口頭語言描述的可能不很恰當以及知識點不太全面,但如有錯誤,請大家批評指正,互相學習。