And*_*son 10 java string base64 type-conversion nullpointerexception
我已经盯着这个短代码太久了,并且不能为我的生活看到它怎么能在线投入NullPointerException6.为什么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!
}
}
Run Code Online (Sandbox Code Playgroud)
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 . . .
Run Code Online (Sandbox Code Playgroud)
虽然许多错误报告指向1.7变体,但我惊讶地发现Eclipse已配置使用1.6.0_32&TextPad已找到一个版本1.6.0-b105(甚至没有意识到已安装!).
两个JRE都因NPE而失败.
现在 JDK7 中的 JAXB 似乎存在错误,Camel 上的这个问题就证明了这一点:
https://issues.apache.org/jira/browse/CAMEL-4893
最终链接到java.net 上 JAXB 项目中的此问题https://github.com/javaee/jaxb-v2/issues/860 。
我不完全确定您是否遇到同样的事情,但也许尝试使用 JDK6 和最新的 JAXB 版本,看看是否会发生相同的 NPE。
| 归档时间: |
|
| 查看次数: |
3710 次 |
| 最近记录: |