iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

Java程式實作系列 第 24

Java進階語法-2

  • 分享至 

  • xImage
  •  
  1. 泛型(Generics)
    #泛型的作用與語法
    泛型的主要作用是讓我們可以編寫更靈活且可重複使用的程式碼,而不需要針對不同型別重複實作相同的邏輯。透過泛型,我們可以定義類別、方法或介面,並在使用時指定具體的型別,避免在運行期出現型別不匹配的錯誤,同時增強程式的可讀性和安全性。

-泛型類(Generic Class):
泛型類允許我們在定義類時使用型別參數,這些參數在實例化時可以指定具體的型別。以下是使用泛型類的範例:

java
class Box { // T 是型別參數
private T item;

public void setItem(T item) {
    this.item = item;
}

public T getItem() {
    return item;
}

}

public class Main {
public static void main(String[] args) {
Box stringBox = new Box<>();
stringBox.setItem("Hello");
System.out.println(stringBox.getItem()); // 輸出: Hello

    Box<Integer> integerBox = new Box<>();
    integerBox.setItem(123);
    System.out.println(integerBox.getItem());  // 輸出: 123
}

}

在這個範例中,Box是一個泛型類,當我們創建 stringBox時指定了 T為 String,而當我們創建 integerBox時指定 T為 Integer。這讓 Box可以靈活地處理不同型別的對象。

-泛型方法(Generic Method):
泛型方法允許我們在方法層級使用型別參數,這樣可以讓方法更加通用化。範例如下:

java
public class Utility {
public static void printArray(T[] array) { // T 是方法的型別參數
for (T element : array) {
System.out.println(element);
}
}

public static void main(String[] args) {
    String[] stringArray = { "apple", "banana", "cherry" };
    Integer[] intArray = { 1, 2, 3 };

    printArray(stringArray);  // 輸出: apple, banana, cherry
    printArray(intArray);     // 輸出: 1, 2, 3
}

}

這裡 printArray是一個泛型方法,它能接受任何型別的陣列並逐一列印出來。在定義方法時,我們使用了來聲明泛型型別。https://ithelp.ithome.com.tw/upload/images/20241009/20169489RIZJ5zxMw3.pnghttps://ithelp.ithome.com.tw/upload/images/20241009/20169489xmSpBD1Gis.png


上一篇
Java進階語法-1
下一篇
Java進階語法-2.2
系列文
Java程式實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言