У меня есть класс EMCC
Scala, который проходит TreeMap[Long,HashSet[DSFrame]]
Использование Scala расширение неизменного класса в Java
У меня есть класс Java, в котором я пытаюсь создать EMCC
и добавить новую пару ключ-значение для него. Я могу создать новый EMCC экземпляра штраф, но так как TreeMap неизменна, я не могу просто позвонить
emcc.insert(key, value)
, но вместо этого необходимо вызвать
emcc = emcc.insert(key,value)
Попытка скомпилировать это дает следующее сообщение об ошибке:
error: incompatible types
[javac] emcc = emcc.insert(key, value);
[javac] ^
[javac] required: EMCC
[javac] found: TreeMap<Object,Set<DSFrame>>
Попытка привести результат вставки к EMCC приведет к той же ошибке.
Как сделать так, чтобы эти игры хорошо сочетались?
Одна вещь, которую я замечаю, заключается в том, что она сообщает, что ключи результата являются объектами, что нечетно, потому что в этой ситуации key
длинный, но я не уверен, что это связано.
Я не знаю, очень хорошо Scala, но вы не можете использовать композицию вместо этого? – fge
@fge: Не могли бы вы уточнить? – williamstome
Имейте «TreeMap» в качестве члена экземпляра и делегируйте ему необходимые операции. – fge