泛型變量在方法參數(shù)中的應(yīng)用

小樊
82
2024-09-15 11:04:01
欄目: 編程語言

泛型變量在方法參數(shù)中的應(yīng)用可以提高代碼的復(fù)用性和類型安全。泛型允許你在編寫方法時(shí)定義一個(gè)或多個(gè)類型參數(shù),這些類型參數(shù)在方法體內(nèi)可以像普通類型一樣使用。當(dāng)調(diào)用方法時(shí),可以為這些類型參數(shù)指定具體的類型。

以下是一個(gè)簡(jiǎn)單的Java示例,展示了如何在方法參數(shù)中使用泛型變量:

public class GenericExample {
    public static void main(String[] args) {
        List<Integer> intList = Arrays.asList(1, 2, 3);
        List<String> strList = Arrays.asList("A", "B", "C");
        
        System.out.println("Sum of integers: " + sumOfList(intList));
        System.out.println("Concatenated strings: " + concatenateList(strList));
    }
    
    // 使用泛型方法計(jì)算整數(shù)列表的和
    public static <T extends Number> double sumOfList(List<T> list) {
        double sum = 0;
        for (T item : list) {
            sum += item.doubleValue();
        }
        return sum;
    }
    
    // 使用泛型方法連接字符串列表
    public static <T> String concatenateList(List<T> list) {
        StringBuilder sb = new StringBuilder();
        for (T item : list) {
            sb.append(item);
        }
        return sb.toString();
    }
}

在這個(gè)示例中,我們定義了兩個(gè)泛型方法:sumOfListconcatenateListsumOfList 方法接受一個(gè)泛型參數(shù) T,它是 Number 類型的子類。這允許我們將 Integer、Double 等數(shù)值類型的列表傳遞給該方法。concatenateList 方法接受一個(gè)泛型參數(shù) T,沒有任何類型限制,因此可以接受任何類型的列表。

當(dāng)我們調(diào)用這些方法時(shí),編譯器會(huì)根據(jù)傳遞的參數(shù)類型自動(dòng)推斷泛型參數(shù)的具體類型。這樣,我們可以使用相同的方法處理不同類型的列表,提高了代碼的復(fù)用性。

0