public long getTime() {
    return getTimeImpl();
}

private final long getTimeImpl() {
    if (cdate != null && !cdate.isNormalized()) {
        normalize();
    }
    return fastTime;
}


我对代码段有些困惑。
他为什么不像下面这样写?
我认为它可能更具可读性。

public long getTime(){
        if (cdate != null && !cdate.isNormalized()) {
            normalize();
        }
        return fastTime;
    }

最佳答案

因为Date.writeObject()也调用Date.getTimeImpl()

编辑:是的,getTime()只是调用getTimeImpl()。我认为getTimeImpl()是私有实现,可以在将来更改,而getTime()是公共API,不能更改。

关于java - 对java.util.Date中的getTime和getTimeImpl方法感到困惑吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20210954/

10-10 13:06