簡體   English   中英

Java泛型方法將不同的對象添加到不同的數組列表中

[英]Java generic method adding different objects into different arraylists

我想創建一個方法,根據我作為參數傳遞的類,將類的對象推送到特定的數組列表中:

public class Main {
    private ArrayList<SomeClass1> sc1;
    private ArrayList<SomeClass2> sc2;

    public Main()
    {
        sc1 = new ArrayList<SomeClass1>();
        sc2 = new ArrayList<SomeClass2>();
    }

    public <T> void add(Class<T> type)
    {
            //code for method that depending on type pushes objects into either sc1 or sc2
    }
    public static void main(String[] args) {
        Main m = new Main();
        SomeClass1 some1 = new SomeClass1();
        SomeClass2 some2 = new SomeClass2();

        m.add(some1); //here i want some1 to be stored in sc1
        m.add(some2); // here i want some2 to be stored in sc2
    }
}

我將不勝感激任何幫助。

泛型不是魔術,您只需要 if 語句並檢查 add 類中 if 語句中的類型。

此外,您的方法簽名是沖突的,您是返回某些內容還是返回無效,我假設無效。 您也不需要構造函數,只需使用您的 main 方法來初始化您的兩個數組列表

public void add(Class<T> type) {
    if(type instanceOf SomeClass1) {
        // do work here
    } else if (type instanceOf SomeClass2) {
        // do other work here
    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM