报错内容如下:

java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableList.sort(Collections.java:1331)

这个报错,牵扯到个unmodifiablerandomaccesslist这个list集合。

具体情况如下


先是使用这个去查数据库,然后返回一个集合,下面是debug的时候,看到的这个集合的具体类型是 unmodifiablerandomaccesslist ,


因为我使用的方法,

calendars.sort(OrderingConstants.CALENDAR_NAME_ORDERING);

这个方法,就修改了这个返回的集合,所以,就报错啦。

所以,你要想不报错,那就把返回的集合,再新弄个集合装起来。

List<Calendar> result = Lists.newArrayList(calendars);

然后,你新弄个集合,就可以随心所欲的操作啦。

不怕他报错啦。

至于,他为什么返回个不可编辑的集合,就是不想让你修改这个集合的内容。

具体怎么个不想让你修改法,再说 吧。反正就是不想让你修改。




发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Java 代码中看到数字中间带下划线的,如 1000_000 这种形式的数字的理解知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。