Scala中使用Java进行此类操作的模拟是什么:
public class Outer {
private Inner inner;
public static class Inner {
}
public Inner getInner() { return inner; }
}
Run Code Online (Sandbox Code Playgroud)
我特别希望我的内部阶级不必拥有一个完全限定的名字 - 即我想要的Trade.Type,不是TradeType.所以在Scala我想象它可能是这样的:
class Outer(val inner: Inner) {
object Inner
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用:我的scala Inner似乎从课外看不出来Outer.一个解决方案当然是:
class Inner
class Outer(val inner: Inner)
Run Code Online (Sandbox Code Playgroud)
这是确定-但因为我的课的名字,Inner真是的"类型" Outer和Outer实际上有一个很长的名字.所以:
class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)
Run Code Online (Sandbox Code Playgroud)
这是冗长而可怕的.我可以SomeHorriblyLongNameType用just 替换,Type但是它与它所涉及的类之间没有明显的联系.表示不快