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

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

  •  29-10-2019
  •  | 
  •  

Question

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?

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top