1

最近、プロジェクトを 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);


}
4

0 に答える 0