我在Java中尝试执行以下操作:

String pageName = "MyPage";
String pageSpace= "SpaceA.SpaceB";
List<String> spaceList = new ArrayList<String>();
String[] spaceArr = pageSpace.split("\\.");
spaceList = Arrays.asList(spaceArr);
spaceList.add(pageName);

为什么我不能在列表中添加字符串?
我可以做spacelist.get(0)和spacelist.get(1)返回“spacea”和“spaceb”,但是spacelist.get(2)失败,应该返回“mypage”。

最佳答案

Arrays.asList返回由传递给它的数组支持的固定大小的列表。不能在该列表中添加/删除元素。
您甚至不应该能够到达spaceList.get(2)语句,因为spaceList.add(pageName)应该首先抛出UnsupportedOperationException(可能您捕获了该异常)。
为了克服这个问题,创建一个新的ArrayList

spaceList = new ArrayList<String>(Arrays.asList(spaceArr));

09-15 15:04