java/lang/systemのnullprintStream()機能がcurrentTimemillis()をゼロと比較するのはなぜですか?
質問
システムクラスをロードするとき、 <clinit>
メソッドはインスタンス化されます in
, out
と err
PrintStream
変数へ null
を使用して nullPrintStream()
方法:
private static PrintStream nullPrintStream() throws NullPointerException {
if (currentTimeMillis() > 0) {
return null;
}
throw new NullPointerException();
}
なぜこれが事実であるのか、そしてなぜ変数をロード中にインスタンス化できないのかを理解していますが、私が混乱しているのはその方法の内容です。
なぜ比較しているのですか currentTimeMillis()
に 0
?その場合、その比較はこれまでに戻るでしょう false
?
正しい解決策はありません
所属していません StackOverflow