相关疑难解决方法(0)

Java是"通过引用传递"还是"传递价值"?

我一直认为Java是传递引用的.

但是,我看过一些博客文章(例如,这个博客)声称它不是.

我不认为我理解他们所做的区别.

解释是什么?

java methods parameter-passing pass-by-reference pass-by-value

6270
推荐指数
80
解决办法
189万
查看次数

java - for循环迭代不正确地填充arraylist

我在过去两天尝试了一些代码,首先是map,然后是arrayLists.它是一个嵌套的for循环,我试图在循环迭代时填充数据结构.由于某种原因,它使用最后一次迭代的结果填充我的最终数据结构(arrayLists的arrayList,名为DataArrays2.getCinemaRowLayout2()).这意味着我添加的所有数组列表都是FINAL迭代的所有重复项.我不知道为什么会这样!

这里可以看到每个具有不同输入的2次迭代的示例:[[o,o,o,o],[o,o,o,o]].我感谢它可能不是最好的结构,但我的时间已经不多了所以请接受我的道歉.

任何帮助非常感谢!

for (int i=0; i<Screens.rows; i++){//for loop of screen rows

   System.out.println("Please enter how many seats and blank spaces in this row");
   Screens.columns = Integer.valueOf(scanInValue.next());

      for(int j=0; j<Screens.columns; j++){//for loop of seats in row
        System.out.println("Please enter 'o' for a seat or press enter for a space");
        in = scanInValue.next();
        DataArrays2.getCinemaRowLayout().add(j, in);//seats in a row arraylist
      }
DataArrays2.getCinemaRowLayout2().add(i, DataArrays2.getCinemaRowLayout());//arraylist of row arraylists
DataArrays2.getCinemaRowLayout().clear();//clears seats arrayList

}
DataArrays2.getScreenMapLayout().put(showingName, DataArrays2.getCinemaRowLayout2());//map of arraylists
BookingSystem2.saveShowing(DataArrays2.getScreenMapLayout()); //saves map to file
Run Code Online (Sandbox Code Playgroud)

java arraylist

0
推荐指数
1
解决办法
1293
查看次数