在setText中使用`"" +`有什么用?

时间:2017-06-08 07:29:26

标签: java

我有一个例子:

 int num1 = Integer.parseInt(firstno.getText());
 int num2 = Integer.parseInt(secondno.getText());
 int num3 = num1+num2;
 result.setText(""+num3);

""

result.setText(""+num3);的使用情况

2 个答案:

答案 0 :(得分:3)

int转换为String是一种(非常)懒惰的方法。

result.setText(num3);

不起作用,因为setText()需要String而不是int。更好的是使用它:

result.setText(String.valueOf(num3));

答案 1 :(得分:0)

对String类的实例的运算符(“+”)进行重写并导致连接。 See spec.

  

Java语言为字符串连接运算符(+)提供特殊支持,并为其他对象转换为字符串。字符串连接是通过StringBuilder(或StringBuffer)类及其append方法实现的。字符串转换是通过方法toString实现的,由Object定义并由Java中的所有类继承。有关字符串连接和转换的其他信息,请参阅Gosling,Joy和Steele,Java语言规范。

所以在你的情况下,你的第二个对象是Integer的一个实例,所以要连接一个空字符串“”和数字 num3 将num3转换为String应该发生第一

连接的结果是一个新字符串,其中包含num3的字符串表示形式。