我无法在列表中添加元素? UnsupportedOperationExceptionexception

这一个列表对象正在咬我的屁股..

每当我尝试向其添加元素时,它都会产生以下结果:

Caused by: java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148) at java.util.AbstractList.add(AbstractList.java:108) 

产生错误的行无关紧要,但无论如何:

 AdventureLobbies.players.add(args[0].toLowerCase()); 

我不应该静态访问它吗?

变量的实际声明:

AdventureLobbies.players = Arrays.asList(rs.getString("players").toLowerCase().split(","));

有任何想法吗? 在谷歌上找不到任何值得的东西。

Arrays.asList()会返回一个不可修改的列表,这就是你的add失败的原因。 尝试创建列表:

 AdventureLobbies.players = new ArrayList(Arrays.asList(rs.getString("players").toLowerCase().split(","))); 

java文档说asList public static List asList(T... a) “返回由指定数组支持的固定大小的列表”

您的列表是固定大小的,这意味着它不能增长或缩小,因此当您调用add时,它会抛出不受支持的操作exception

此exception非常熟悉访问不允许根据java语言规则访问的对象,如访问不可变对象,因此,请以下列方式实例化它:

 AdventureLobbies.players = new ArrayList(Arrays. asList(rs.getString("players").toLowerCase().split(","))); // Perfectly done