Я импортировал это:Невозможно назначить возвращенный java.util.ArrayList для scala.collection.mutable.ArrayBuffer. Зачем?
import scala.collection.JavaConversions._
val size: Int = blubb.getSize
var fields: ArrayBuffer[Field] = new ArrayBuffer[Field]
size match
{
case 1 => fields.append(field)
case 2 => fields = field.getNeighbours)
}
Теперь getNeighbours возвращает java.util.ArrayList вместо с ArrayBuffer (это класс Java я не имею никакого контроля над).
Компилятор говорит
Выражение типа ArrayList [поле] не соответствует ожидаемому типу ArrayBuffer [Field]
не должны JavaConversions заботиться об этом? Как можно легко преобразовать ArrayList в ArrayBuffer? (Я не хочу, чтобы заменить ArrayBuffer с ArrayList в коде Scala!)
http://www.scala-lang.org/api/current/index.html#scala.collection.JavaConversions$ должно показать, что поддерживается. – wkcamp
Я бы сказал, что обычно предпочтительнее использовать «JavaConverters», а не «JavaConversions», чтобы вы знали (потому что вы явно указываете), что произойдет. – childofsoong