java中的代码含义(i +"")。getBytes()

时间:2018-01-02 08:50:21

标签: java arrays string int

java byte []b = (i+"").getBytes()其中i是int

int i = 8;
byte []b = (i+"").getBytes();

我看过这行代码并且无法理解(i +"")的含义是什么。

3 个答案:

答案 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)