我想用一种方法返回一个 ArrayList 和一个文件数组。有关更多背景知识(不需要帮助我),您可以阅读其余部分。我正在为推箱子游戏编写我的版本。为此,我必须获得一个包含关卡所有路径的列表(在我的例子中是一个 ArrayList),这样我才能获取信息,而且我还需要文件数组,因为我在以前的版本中使用过,更改它需要几个小时. 该方法的输入目前是“level”。那是包含 .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 回答

扬帆大鱼
TA贡献1799条经验 获得超9个赞
只需像这样制作一个元组:
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)
当你需要使用list:result.list。
当你需要使用 files:result.files 时。
它是只读的,因为它符合 final 关键字的条件。
添加回答
举报
0/150
提交
取消