2011-11-12 6 views
1

Javaの内部クラスをScalaプロジェクトにインポートします。このようなルックスをコンパイルしませんコード: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では、この構造体はうまく動作します。

答えて

4

Inner2 i2はどのような場合にはScalaで違法である、とval i2 = o.getInner().addInner2("some text")が正常に動作します:しかし、あなたは、このような#区切りで名前を使用することができます。

1

はイウリアンドラゴス、would know

によると、外#インナーをインポートする一切の構文は確かにありません。

link

9

Innerクラスがstaticある場合は、作業を行います。

もしそうでなければ、あなたは運が悪いです(本当に必要ですか?)。

var inner = outer.getInner : Outer#Inner 
関連する問題