如何存储例如此字符串数组:
{ "128", "128", "127" }
到这个byte []数组:
[128, 128, 127]
答案 0 :(得分:1)
请使用Byte.parseByte(String)
执行此操作:
public static byte[] toByteArray(String[] arr) {
byte[] res = new byte[arr.length];
for (int i = 0; i < arr.length; i++)
res[i] = Byte.parseByte(arr[i]);
return res;
}
<强> P.S。强>
在Java
字节值 [ - 128; 128)即可。因此"128"
会抛出java.lang.NumberFormatException: Value out of range. Value:"128" Radix:10
。您必须决定要对这些值做什么:抛出异常,因为使用数据无效;或者将其转换为最接近的字节值,如"128" -> 127
;甚至忽略这些价值观。然后这段代码看起来像这样:
public static byte[] toByteArray(String[] arr) {
byte[] res = new byte[arr.length];
for (int i = 0; i < arr.length; i++) {
try {
res[i] = Byte.parseByte(arr[i]);
} catch(Exception e) {
res[i] = // TODO action for incorrect value
}
}
return res;
}