我写了这段代码:

List<String> doneTiers = new ArrayList<>();
if (ps.getData("achievements.Done") != null) {
    doneTiers = Arrays.asList(ps.getData("achievements.Done").split("/./"));
}
Msg.debug(tier, tier.getName());
doneTiers.add(tier.getName());// dodany
ps.setData("achievements.Done", DataUTIL.format(doneTiers, "/./"));


我在这行doneTiers.add(tier.GetName());中有错误

java - ArrayList &lt;String&gt; .add抛出UnsupportedOperationException-LMLPHP

最佳答案

Arrays.asList()创建一个固定大小的列表,因此一旦创建,就不能在其中添加更多元素。由于您已经用doneTiers初始化了new ArrayList<>(),因此可以像这样使用addAll

doneTiers.addAll(Arrays.asList(ps.getData("achievements.Done").split("/./")))

09-10 08:50