这些Java文件在scala.runtime中的用途是什么?


scala.runtime目录中,Scala源代码树中有一些* .java文件.

那些文件似乎很简单,G. DoubleRef.java如下所示:

package scala.runtime;

public class DoubleRef implements java.io.Serializable {
    private static final long serialVersionUID = 8304402127373655534L;

    public double elem;
    public DoubleRef(double elem) { this.elem = elem; }
    public String toString() { return java.lang.Double.toString(elem); }
}

有什么理由不能在Scala中定义这些类吗?

解决方法

也是一个猜测:没有Scala构造编译到公共字段 – Scala中的public vars编译为私有字段和公共访问器和mutator.我想象这些* Ref类被广泛使用,这可以是一个优化,以避免频繁的方法调用,并用直接的字段访问替换它们.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。