在代码行中editText.setText(firstnum + secondnum + "");谁能向我解释为什么最后有双引号?
4 回答

SMILET
TA贡献1796条经验 获得超4个赞
firstnum 和 secondnum 似乎都是 Float 类型,因此添加它们将导致 Float,setText() 方法采用 String 而不是 Float,当添加 + "" java 时,java 会自动将 2 个 Float 的添加转换为字符串,想想如果你有:
editText.setText(5 + " apples");
然后java会认为你想要一个字符串“5 apples”,这就是为什么它将字符串之前的int转换为字符串表示,然后将其附加到“apples”。

FFIVE
TA贡献1797条经验 获得超6个赞
这是为了强制将您的整数值(的结果firstnum + secondnum
)转换为字符串,这setText()
需要作为参数。还有setText()
一个接受int
(您使用的是浮点数,所以无论如何都不是这种情况)但是该 int 将用作字符串资源的 ID,这不是您想要的,因此需要转换为字符串。它也只是更少的打字。它基本上相当于替换:
editText.setText(firstnum + secondnum + "");
和:
editText.setText(String.valueOf(firstnum + secondnum));
添加回答
举报
0/150
提交
取消