Импорт внутреннего класса Java в проект Scala - PullRequest
1 голос
/ 12 ноября 2011

Я хочу импортировать внутренний класс Java в проект Scala.Код, который не будет компилироваться, выглядит так:

import pac.Obj
import pac.Obj.Inner.Inner2

object Sample {
    def main(args: Array[String]): Unit = {            
        var o = new Obj()
        Inner2 i2 = o.getInner().addInner2("some text")
    }
}

Компилятор scala не может распознать второй импорт.Это почему?В Java эта конструкция работает нормально.

Ответы [ 3 ]

10 голосов
/ 12 ноября 2011

Работает, если класс Inner равен static.

Если это не так, то вам не повезло (но вам это действительно нужно?). Но вы можете использовать имя с разделителем # следующим образом:

var inner = outer.getInner : Outer#Inner
4 голосов
/ 12 ноября 2011

Inner2 i2 недопустимо в Scala в любом случае, и val i2 = o.getInner().addInner2("some text") будет работать нормально.

1 голос
/ 12 ноября 2011

Согласно Юлиану Драгосу, кто знал бы ,

Синтаксис для импорта Outer # Inner действительно отсутствует.

( ссылка )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...