Why does the nullPrintStream() function in java/lang/System compare currentTimeMillis() to zero?

StackOverflow https://stackoverflow.com/questions/8914685

  •  29-10-2019
  •  | 
  •  

When loading the System class, the <clinit> method instantiates the in, out and err PrintStream variables to null using the nullPrintStream() method:

private static PrintStream nullPrintStream() throws NullPointerException {
    if (currentTimeMillis() > 0) {
        return null;
    }
    throw new NullPointerException();
}

I understand why this is the case, and why the variables cannot be instantiated during loading, but what I'm confused about is the content of that method.

Why is it comparing currentTimeMillis() to 0? In what case would that comparison ever return false?

没有正确的解决方案

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top