亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何傳入/使用 .Class/Object 作為方法參數

如何傳入/使用 .Class/Object 作為方法參數

慕容708150 2022-06-23 16:19:14
我有各種 CSV 文件,代表需要添加到 Cloud FireStore 的不同類。我使用 CSV 例程庫將 csv 記錄從特定的 csv 文件轉換為特定類的對象,然后將每個對象添加到特定的 Cloud FireStore 集合此代碼有效try {        InputStreamReader is = new InputStreamReader(getAssets()                .open("fullvar3.csv"));        CsvRoutines routines = new CsvRoutines();        FirebaseFirestore firestore = FirebaseFirestore.getInstance();        for (Variety v : routines.iterate(Variety.class, is)) {            firestore.collection("/static/test/DFLKJDF39494/varieties").add(v);        }    } catch(IOException ex){        System.out.println("Exception");        ex.printStackTrace();    }有很多 csv 文件 - 每個代表一個不同的類。Cloud FireStore中也有不同的對應集合需要添加內容。我想為每個 CSV 文件/類/Cloud Firestore 元組創建一個可以使用參數調用的方法。傳入 csv 文件名和 Cloud Firestore 集合路徑很容易,但我在上課時遇到了麻煩。它在 for-each 循環中發揮了兩次作用——一次作為對象,一次作為“.class”事物。這是我到目前為止所擁有的(不編譯)。public void addToCloudStore(String filename, String path, Class cl){    try {        InputStreamReader is = new InputStreamReader(getAssets()                .open(filename));        CsvRoutines routines = new CsvRoutines();        FirebaseFirestore firestore = FirebaseFirestore.getInstance();        Object obj = new Object();        cl.cast(obj);        for (obj : routines.iterate(cl, is)) {            firestore.collection(path).add(obj);        }    } catch(IOException ex){        System.out.println("Exception");        ex.printStackTrace();    }}如何修改它才能工作?
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

這是一個有效的解決方案


 public void addToCloudStore(String filename, String path, Class<?> cl){

    try {

        InputStreamReader is = new InputStreamReader(getAssets()

                .open(filename));

        CsvRoutines routines = new CsvRoutines();

        FirebaseFirestore firestore = FirebaseFirestore.getInstance();

        for (Object obj : routines.iterate(cl, is)) {

            firestore.collection(path).add(obj);

        }


    } catch(IOException ex){

        System.out.println("Exception");

        ex.printStackTrace();

    }

}


查看完整回答
反對 回復 2022-06-23
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號