Perché NullPrintStream () funziona in Java/Lang/System confronta CurrentTimeMillis () a zero?

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

  •  29-10-2019
  •  | 
  •  

Domanda

Quando si carica la classe di sistema, il <clinit> Il metodo istanzia il in, out e err PrintStream variabili a null usando il nullPrintStream() metodo:

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

Capisco perché questo sia il caso e perché le variabili non possono essere istanziate durante il caricamento, ma ciò di cui sono confuso è il contenuto di quel metodo.

Perché si confronta currentTimeMillis() a 0? In quale caso il confronto sarebbe mai tornato false?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top