从性能POV定义类内部方法

时间:2014-05-23 09:10:08

标签: scala

我有一个方法需要返回Iterator。然后我在该方法中定义了一个CustomIterator类,并创建它的实例作为返回值。

看起来很好,因为只有那种方法需要了解CustomIterator。但我担心如果这会产生太多Class实例,因为scala的类型系统与路径相关。

1 个答案:

答案 0 :(得分:1)

每个class声明只生成一个类文件(即,如果它不包含内部类或匿名函数本身),所以你不必担心。此外,除非您的程序应该在有限的环境中运行,否则额外的类不会导致任何性能问题。在任何情况下,您都应该在尝试进行此类过早优化之前对程序进行概要分析。

我不确定“路径相关类型系统”是什么意思。它是路径依赖类型吗?如果是这样,这是一个完全不相关的概念,仅存在于Scala类型系统中,不会影响实际的类生成。