Perché NullPrintStream () funziona in Java/Lang/System confronta CurrentTimeMillis () a zero?
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