私はこの短いコードをあまりにも長い間見つめてきましたが、6 行目にどのようにスローNullPointerException
されるのか、私の人生では理解できません。なぜ NPE なのですか?
class ConvertTest {
public static void main(String[] args) throws Exception {
byte[] b = "Ha".getBytes("UTF-8");
System.out.println("bytes: " + b.length);
javax.xml.bind.DatatypeConverter.printBase64Binary(b); // NPE!
}
}
出力
bytes: 2
Exception in thread "main" java.lang.NullPointerException
at javax.xml.bind.DatatypeConverter.printBase64Binary(DatatypeConverter.java:547)
at ConvertTest.main(ConvertTest.java:6)
Press any key to continue . . .
アップデート
バグ レポートの多くは 1.7 の亜種を指摘していますが、Eclipse が使用するように構成され1.6.0_32
ており、TextPad が のバージョンを検出したことに驚きました1.6.0-b105
(それがインストールされていることさえ認識していませんでした!)。
その NPE で両方の JRE が失敗します。