【发布时间】:2015-05-30 23:59:53
【问题描述】:
我正在以字节数组的形式从蓝牙接收数据,我可以将其转换为 char 数组,如果我在 TextView 中显示它,数据将正确显示但是当我尝试运行我的函数时,它将遍历所有当涉及到 NumberFormatException 捕获的/u0000 (又名NULL?)字符时,我的字节数组中的空格会被绊倒,但在捕获代码运行后它会崩溃。对我来说,典型的 byte[] 看起来像 {'1','2','\u0000','\u0000'},它代表通过蓝牙发送的数字 12。
我的想法是让代码检查 int 值,然后在它不可解析时捕获异常,或者如果是则继续运行。然后,这将设置布尔值,调用函数将接收该字符是否为有效的 int。
这是我的代码:
private boolean checkForInt(char c) {
boolean isInt;
try {
Integer.parseInt(c + "");
isInt = true;
} catch (NumberFormatException e){
isInt = false;
}
return isInt;
}
【问题讨论】:
-
你想检查字节数组中的空格吗??
-
我不确定到底是什么问题,但是可以通过检查 char 的 ascii 值来减少 checkForInt(例如 'return c >= 48 && c
标签: java android arrays exception bluetooth