java byte []b = (i+"").getBytes()
其中i
是int
int i = 8;
byte []b = (i+"").getBytes();
我看过这行代码并且无法理解(i +"")的含义是什么。
答案 0 :(得分:3)
i + ""
演示字符串与int
的连接。
如果你扩展一下。这等于
String s = i+"";
byte []b = s.getBytes();
然而,这几乎是一个黑客。除非你真的需要,否则不要连接。
请改用重叠方法valueOf(int i)
。
byte []b = String.valueOf(i).getBytes();
这为您提供了更多的可读性和清洁。
答案 1 :(得分:2)
您希望从bytes
值的String
表示中获取int
。
所以你需要一个String
您可以通过将int
值与生成String
的空int
相连接,将String
转换为String
,然后您可以调用String.getBytes()
将String
编码为字节数组。
15.18.1. String Concatenation Operator +
如果只有一个操作数表达式是String类型,那么是string 转换(第5.1.11节)在另一个操作数上执行以产生a 运行时的字符串。
更有效和更优雅的方式是:
byte[] b = String.valueOf(i).getBytes();
答案 2 :(得分:1)
(i + "")
这只是一种将int转换为String的方法,它相当于:
String.valueOf(i)