gpt4 book ai didi

java - 为什么 Range 会抛出 UnsupportedOperationException?

转载 作者:行者123 更新时间:2023-11-30 11:16:24 25 4
gpt4 key购买 nike

当我尝试使用下标运算符编辑 groovy.lang.Range 时,对于 java.util,我遇到了错误 java.lang.UnsupportedOperationException。列表一切顺利。 Groovy Range API 中没有任何迹象该集合是不可变的。您知道 Range\我的代码有什么问题吗?

代码如下:

def list = "a".."c"
assert list instanceof java.util.List
assert list.size() == 3
list[2] = "d"

控制台输出:

Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.set(AbstractList.java:132)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.putAt(DefaultGroovyMethods.java:6607) <6 internal calls>
at Hello.run(Hello.groovy:4) <15 internal calls>
at Hello.main(Hello.groovy) <5 internal calls>

更新:

Groovy 版本:1.8.6 JVM:1.6.0_45 供应商:Sun Microsystems Inc. 操作系统:Linux

最佳答案

看起来 groovy 使用 ObjectRange .在文档中,您可以看到它从 java.util.AbstractList 继承了 add 方法,该方法会抛出 UnsupportedOperation Exception。

关于java - 为什么 Range 会抛出 UnsupportedOperationException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24889972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com