我检索了LWUIT Button的backgroundTransparency
,并返回byte
数据类型数据。我希望将此byte
变量转换为int
变量。怎么做?
答案 0 :(得分:3)
J2ME仍然是Java:
int intVar = byteBar;
答案 1 :(得分:2)
费尔南多的回答是100%正确的,但仍然有些误导,例如:
byte b = (byte)0xff;
int intVar = b;
boolean thisIsFalse = intVar == 0xff;
乍一看,大多数人可能会感到惊讶,但逻辑实际上很简单。 0xff是一个字节的负数,但是int的正数(在Java SE中也是如此)。解决方案是将代码从上面更改为将“正确”转换为int的代码:
int intVal = b & 0xff;
boolean thisIsTrue = intVar == 0xff;
这将解决那里的问题,但您仍应注意:
boolean thisIsFalse = intVar == b;
boolean thisIsTrue = intVar == (b & 0xff);