0

当我调试时,我看到这里的内部类获得了对其外部类的引用,即使它没有使用外部类中的任何值。内部类是内部类的唯一原因是它可以引用外部类的类型。

trait CorrectingParserWriter extends OptimizingParserWriter with EditorParserWriter {
  ...
  final class SRCons[+Result](val head: LazyParseResult[Result], _tail: => SortedParseResults[Result]) extends SortedParseResults[Result] {
    ...
  }
  ...
}

我添加final试图删除对外部的引用,但没有成功。

为了减少内存消耗,我不希望小对象 SRCons 引用其外部类。但是,取消嵌套这个内部类会引入许多类型参数,这会使代码变得一团糟。

4

0 回答 0