Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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 int不能转换为字符串?_Java_String_Integer - Fatal编程技术网

Java int不能转换为字符串?

Java int不能转换为字符串?,java,string,integer,Java,String,Integer,我试着写一些说明来注意圆圈即将变为12,然后在正方形上加1 下面的代码对我来说很好 int x = Integer.parseInt(circle.getText()); x = x + 1; String z = Integer.toString(x); circle.setText(z); 然而,我在写这些新的指令时遇到了麻烦。 我如何得到平方,转换成整数,加1,然后把值放回去 int q = Integer.parseInt(square.getText(

我试着写一些说明来注意圆圈即将变为12,然后在正方形上加1

下面的代码对我来说很好

   int x = Integer.parseInt(circle.getText()); 
   x = x + 1;
   String z = Integer.toString(x);
   circle.setText(z);
然而,我在写这些新的指令时遇到了麻烦。 我如何得到平方,转换成整数,加1,然后把值放回去

   int q = Integer.parseInt(square.getText());
   x = q + 1;
   square.setText(x);

您可以使用
Integer.toString()
转换为
String


为什么
int
可以转换为
String
(除非存在隐式转换,否则Java编译器、原语包装器和字符串连接没有太多隐式的东西)

使用以下两个选项之一:

square.setText(String.valueOf(x));
square.setText(x + "");

将工作

setText(x)将字符串作为参数。您的x是
int
。答案在第一个代码段中:将int转换为字符串。在第一个代码段中,您执行
Integer.toString(x)
。在第二种情况下,你不会。你为什么认为这不是必需的呢?老实说。。。我对Java也有点陌生,不明白(实际上我仍然不明白)为什么可以打印到屏幕上的东西没有隐式转换。我知道你说过Java省略了很多在其他语言中隐式发生的转换,但是为什么呢?看起来你没有丢失任何数据。。。您是否可以更新您的答案来阐明这一点?打印内容并连接字符串是一种特殊情况,编译器将自动添加字符串转换,但这是唯一的地方。在其他任何地方,都必须严格使用类型。
square.setText(String.valueOf(x));
square.setText(x + "");
square.setText(x+"")