请查看此帖子底部的编辑
我有一个128位的字节缓冲区[其中包含数字],我需要将其转换为BigDecimal、二进制和字符串,因为这些是在使用JDBC时相应的SQL映射。
是否有库API可以帮助我完成这个任务。我发现String.valueof()不接受字节数组作为参数。所以我只能做类似于这样的事情:
BigDecimal bd = new BigDecimal(bigmyBuffer.asCharBuffer().toString());
这看起来像是一个黑客攻击。有没有更好的方法来进行这项操作或者更高效地进行jdbc操作。我现在专注于将数据插入到相应的sql列中。
编辑:
我错了,bytebuffers不仅仅是数字,而是各种位。所以现在我需要将128位字节缓冲区转换为2个longs,然后合并为一个BigDecimal,以保持数字的完整性。所以类似这样的操作:
LongBuffer lbUUID = guid.asLongBuffer();
firstLong= lbUUID.get();
secondLong = lbUUID.get();
BigDecimal = firstLong + secondLong ;
谢谢。