아시다시피 스칼라의 Nil은 불변 콜렉션 객체입니다. 나는 예를가변 스칼라 컬렉션의 객체가 없음
class ResourceMap extends mutable.HashMap[String, Int] {
....
def -(o: ResourceMapType):ResourceMap = {
if (....) {
......
} else {
Nil // Exception : raises the `change return type to Nil.type`
}
}
}
를 들어, 내 사용자 지정 가변 수집에 문제가 그리고 내 질문에 내가 -
방법 무기 호를 반환 할 수있는 방법인가?
인가'-' 기본지도의 차이를 반환? 그럼 왜 닐이 돌아 오니? 어쩌면 빈지도를 반환해야합니까? – tkroman
'-'가 새로운 collection_을 반환하는 것으로 보입니다. 왜 전반적인 질문은 처음에 변경 가능한 컬렉션을 사용하려는 것입니까? 변경할 수없는 컬렉션은 수정 된 복사본을 반환하는 데보다 효율적입니다. 이러한 작업을 수행하고 구조 공유를 사용하여 이러한 작업을 최적화해야하기 때문입니다. –