我正在努力完成我的代码。我正在解析一个XML,它返回给我String
个值(使用xpp.getAttributeValue(0);
)。但是,在我的实际代码中,我需要byte
而不是String
。
一个简单的转换是Byte.valueOf(String);
但是,返回的值不正确!
XML示例:
<userId value="0xAA"></userId>
当我用以下内容解析时:
String stringUserId = xpp.getAttributeValue(0);
然后使用:
将其转换为字节byte byteUserId = Byte.valueOf(stirngUserId);
我没有获得0xAA值。有人可以帮助我吗?
答案 0 :(得分:0)
试试这个。
String stringUserId = xpp.getAttributeValue(0);
byte byteUserId[] = stringUserId.getBytes() ;
实际上String
是bytes
的数组。
答案 1 :(得分:0)
Byte.valueOf(string)
未返回原始byte
类型,它会返回Byte
。尝试做这样的事情:
Byte byteobj = Byte.valueOf(stirngUserId);
byte byteUserId = byteobj.byteValue();
答案 2 :(得分:0)
试试Integer#decode。它应该理解“0x”语法。
int x = Integer.decode(stringUserId);