为了账号安全,请及时绑定邮箱和手机立即绑定

我怎样才能从一个方法返回一个 ArrayList 和一个文件数组?

我怎样才能从一个方法返回一个 ArrayList 和一个文件数组?

德玛西亚99 2023-03-09 14:56:31
我想用一种方法返回一个 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 关键字的条件。


查看完整回答
反对 回复 2023-03-09
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

不能从一个方法返回多个对象。您可以将不同的对象放入一个新类中,然后将其返回。



查看完整回答
反对 回复 2023-03-09
  • 2 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号