如何正确编码此声明?还有更好的方法吗?
byte[] buf = rtm.getMessageData();
if (buf[0] == 'A'|| 'B' || 'C' || 'D' || 'E' || 'F')
答案 0 :(得分:6)
正确Java中代码的确切类似物是:
if (buf[0] == 'A'|| buf[0] == 'B' || buf[0] == 'C'
|| buf[0] == 'D' || buf[0] == 'E' || buf[0] == 'F')
但正如你所推测的那样,有更好的方法。
一个选项:
if (buf[0] >= 'A' && buf[0] <= 'F') {
...
} else {
...
}
另一种选择:
switch (buf[0]) {
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
...
break;
default:
...
}
答案 1 :(得分:2)
if (buf[0] >= 'A' && buf[0] <= 'F')
....