我想用一種方法返回一個(gè) ArrayList 和一個(gè)文件數(shù)組。有關(guān)更多背景知識(不需要幫助我),您可以閱讀其余部分。我正在為推箱子游戲編寫我的版本。為此,我必須獲得一個(gè)包含關(guān)卡所有路徑的列表(在我的例子中是一個(gè) ArrayList),這樣我才能獲取信息,而且我還需要文件數(shù)組,因?yàn)槲以谝郧暗陌姹局惺褂眠^,更改它需要幾個(gè)小時(shí). 該方法的輸入目前是“l(fā)evel”。那是包含 .xsd 文件的目錄.r我無法改變我想要退回的東西。public static ArrayList<SokobanLevel> loadLevels(String dirPath) throws SokobanException { Path dir = FileSystems.getDefault().getPath(dirPath).toAbsolutePath(); File[] fileFolder = dir.toFile().listFiles(); ArrayList<SokobanLevel> allLevel = new ArrayList<SokobanLevel>(); for(int i = 0; i < fileFolder.length; i++) { SokobanLevel sl = new SokobanLevel(fileFolder[i].getAbsolutePath()); sl.setId(i); allLevel.add(sl); } //would like to also return File[] fileFolder return allLevel;}方法到目前為止效果很好。
2 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
只需像這樣制作一個(gè)元組:
Class Result {
public static final ArrayList list;
public static final File[] files;
public Result(ArrayList list,File[] files){
this.list =list;
this.files = files;
}
}
并像這樣使用它: return new Result(list,files)
當(dāng)你需要使用list:result.list。
當(dāng)你需要使用 files:result.files 時(shí)。
它是只讀的,因?yàn)樗?final 關(guān)鍵字的條件。
添加回答
舉報(bào)
0/150
提交
取消