Java int不能转换为字符串?
我试着写一些说明来注意圆圈即将变为12,然后在正方形上加1 下面的代码对我来说很好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(
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+"")