【发布时间】:2014-01-12 15:20:15
【问题描述】:
首先,这听起来像是这里的问题: How to convert a byte array to its numeric value (Java)?
但是我的字节数组的来源是一个字符串,像这样:
byte[] foo = new byte[8];
foo = "12345678".getBytes();
有没有比Integer.parseInt(new String(foo)) 更快的方法(是的,确实是这样快)?
字符串只包含代表整数的数字。
【问题讨论】:
-
您是否分析了您的代码并证明这是一个实际的(而不是感知的)瓶颈?
-
保留字符串引用,并将 Integer.parseInt 应用到它,将保存几个数组副本。
-
不清楚你为什么使用字节数组而不是
Integer.parseInt(originalString)...顺便说一句new byte[8]创建了一个立即丢弃的数组... -
我使用的是字节数组,因为数据是通过 RandomAccessFile 使用 read() 接收的。
标签: java string integer bytearray