Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么要加双引号?_Java_Eclipse_Double Quotes - Fatal编程技术网

Java 为什么要加双引号?

Java 为什么要加双引号?,java,eclipse,double-quotes,Java,Eclipse,Double Quotes,在代码行中 editText.setText(firstnum + secondnum + ""); 有人能解释一下为什么结尾有双引号吗?setText需要一个字符串。 如果您想从int中获取字符串,可以使用String.valueOf(i)或i+”firstnum和secondnum都是Float类型,因此添加它们将导致一个Float,setText()方法采用字符串而不是Float,添加+”时,java将自动将添加的两个Float转换为一个字符串,如果你有: editT

在代码行中

editText.setText(firstnum + secondnum + "");
有人能解释一下为什么结尾有双引号吗?

setText需要一个字符串。
如果您想从int中获取字符串,可以使用
String.valueOf(i)
i+”

firstnum和secondnum都是Float类型,因此添加它们将导致一个Float,setText()方法采用字符串而不是Float,添加+”时,java将自动将添加的两个Float转换为一个字符串,如果你有:

editText.setText(5 + " apples");

然后java会认为您想要一个字符串“5个苹果”,这就是为什么它将字符串之前的int转换为字符串表示形式,然后将其附加到“苹果”中。

这是为了强制将整数值(firstnum+secondnum的结果)转换为字符串,这是
setText()
作为参数所需的。还有一个
setText()
接受
int
(您使用的是浮点数,因此情况并非如此),但该int将用作字符串资源的ID,这不是您想要的,因此需要转换为字符串。而且打字也少了。它基本上等同于替换:

editText.setText(firstnum + secondnum + "");
与:


+是重载运算符 当两个数字之间时,它会将它们相加
但是添加“”将使其成为字符串,因为
setText()
需要string如果
firstnum
secondnum
是浮点数,那么
(firstnum+secondnum)
是浮点数。但是
(firstnum+secondnum+“”)
是一个字符串。您正在调用的方法需要一个字符串。@B001ᛦ - 没有
setText()
也接受整数。但是,即使OP使用int而不是float,它现在仍然是他所需要的。
setText
将接受整数,但是在api@cricket_007是的,setText的签名接受一个in,但没有一个接受浮点,不能将浮点传递给需要int的方法。另一方面,第二个例子让事情变得更加清楚。如果它是以第二种方式写的,OP将永远不会问他们的问题,因为这是显而易见的。有时“少打字”是一种错误的经济。当然,总有一种交易,即在这种特殊情况下,我只是把
“+…
放在第一位,这样就更清楚发生了什么。
editText.setText(String.valueOf(firstnum + secondnum));