Quando si carica la classe System, il metodo <clinit>
un'istanza della variabili in
, out
e err
PrintStream
al null
utilizzando il metodo nullPrintStream()
:Perché il nullPrintStream() in java/lang/sistema Confronta currentTimeMillis() a zero?
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0) {
return null;
}
throw new NullPointerException();
}
capisco perché questo è il caso, e perché le variabili non posso essere istanziati durante caricamento, ma quello che mi confonde è il contenuto di quel metodo.
Perché è confrontando currentTimeMillis()
-0
? In tal caso, il confronto restituirà mai false
?
Se si viaggia indietro nel tempo per 31/12/1969 :-) –