Как известно, Nil в Scala является объектом непреложных коллекций. У меня есть проблема с моим обычаем изменяемой коллекцией, напримерОбъект Nil в изменчивых коллекциях Scala
class ResourceMap extends mutable.HashMap[String, Int] {
....
def -(o: ResourceMapType):ResourceMap = {
if (....) {
......
} else {
Nil // Exception : raises the `change return type to Nil.type`
}
}
}
И мой вопрос, как я могу вернуться Nil в методе -
?
Является '-' возвращение разницы между базовой картой? Почему ты возвращаешь «Нил»? Может быть, вы должны вернуть пустую карту? – tkroman
Поскольку '-', кажется, возвращает _a новую коллекцию_, общий вопрос заключается в том, почему вы хотите использовать изменчивую коллекцию в первую очередь? Неизменяемые коллекции более эффективны для возврата измененных копий, потому что они необходимы для этого и используют структурный обмен для оптимизации этих операций. –