Angenommen, ich habe in scala einen Typalias definiert als
%Vor%Es sieht so aus, als könnte ich in Java-Code nicht auf Alias verweisen (es klagt einfach kann kein Symbol finden ):
%Vor%Ich habe auch den statischen Import ausprobiert.
(Genauer gesagt, ich habe einen Java-Reflektionscode, den ich nicht ändern kann, der den Parametertyp kennen muss, und ich muss ihm einen Bar-Alias geben).
Ich weiß, ich kann Wrapper in Scala erstellen
%Vor%aber vielleicht vermisse ich einen anderen Weg?
Type-Aliase sind nur für den Scala-Compiler sichtbar und erscheinen wie generische Typen nirgendwo in den JVM-Klassendateien.
Wenn Sie in Java sind, verwenden Sie den unalasierten Typ Option[String]
, da javac keine Kenntnis über den Typalias Bar
hat, den Sie in Ihrem Scala-Code deklariert haben. Wo auch immer du Bar
benutzt hättest, benutze Option[String]
(das ist scala.Option<String>
in Java) und es sollte gut funktionieren.
Tags und Links scala java scala-java-interop type-alias