我最近将一个项目从 JDK 1.6(32 位)转换到 JDK 1.7(64 位)。org.w3c.dom.Node 出现了一个有趣的问题。以下代码在 JDK1.6 中正常工作,但 node.getData() 有时仅返回 JDK1.7(64 位)的数据子集。数据是 base-64 编码的。任何想法为什么会这样?
...
import org.w3c.dom.Text;
import org.w3c.dom.Node;
...
public byte[] getToken() {
Text node = getFirstToken();
if (node == null) {
return null;
}
// This fails for JDK 1.7 64-bit sometimes and does
// not return all the data for the element.
// works fine for JDK 1.6 32-bit
String nodeData = node.getData();
....
return Base64.decode(nodeData);
}