如何在 scala 中初始化空的`util.Collection[String]`?
How to initialize empty `util.Collection[String]` in scala?
不能很好地单元化,因为
val topicAsCollection: util.Collection[String] = util.List[String]
未突出显示为错误,但在
上编译失败
Error:(126, 59) class java.util.List is not a value
val topicAsCollection: util.Collection[String] = util.List[String]
这里正确的方法是按照以下方式初始化空列表:
val topicAsCollection: util.Collection[String] = Collections.emptyList()
然而,它又导致了一个错误:
这个问题已经在这里有了答案:
我在 Scala 中有一个包含 Java 集合的代码
val topicAsCollection: util.List[String] = Collections.emptyList()
topicAsCollection.add("recipes")
运行时失败
java.lang.UnsupportedOperationException was thrown.
java.lang.UnsupportedOperationException
at java.base/java.util.AbstractList.add(AbstractList.java:153)
at java.base/java.util.AbstractList.add(AbstractList.java:111)
所以要在 scala 中正确地初始化 java ArrayList 集合,正确的初始化需要显式类型和 new:
val topicAsCollection: util.ArrayList[String] = new util.ArrayList[String]()
不能很好地单元化,因为
val topicAsCollection: util.Collection[String] = util.List[String]
未突出显示为错误,但在
上编译失败Error:(126, 59) class java.util.List is not a value
val topicAsCollection: util.Collection[String] = util.List[String]
这里正确的方法是按照以下方式初始化空列表:
val topicAsCollection: util.Collection[String] = Collections.emptyList()
然而,它又导致了一个错误:
这个问题已经在这里有了答案:
我在 Scala 中有一个包含 Java 集合的代码
val topicAsCollection: util.List[String] = Collections.emptyList()
topicAsCollection.add("recipes")
运行时失败
java.lang.UnsupportedOperationException was thrown.
java.lang.UnsupportedOperationException
at java.base/java.util.AbstractList.add(AbstractList.java:153)
at java.base/java.util.AbstractList.add(AbstractList.java:111)
所以要在 scala 中正确地初始化 java ArrayList 集合,正确的初始化需要显式类型和 new:
val topicAsCollection: util.ArrayList[String] = new util.ArrayList[String]()