怎么解释这段JAVA代码????

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:02:42
String space = " ";
String composite = space + "hello" + space + space;
composite.concat("world");
String trimmed = composite.trim();
System.out.println(trimmed.length());
那答案为什么是5??

sunxch100回答的都在理,我只对补充的问题发表自己的见解:

执行 composite.concat("world"); 后将得到一个字符串 " hello world"
为什么最终长度还是5呢,原因是,执行 composite.concat("world");后得到的结果没有赋给任何变量.
如果写成 composite=composite.concat("world");
那么composite就变成了 " hello world",最终输出就会是 12 了~~~~

其实这种问题确实经常会遇到,但又不是什么致命的错误(编译和执行都不报错,只是得到了我们不想要的结果),所以使用时要特别小心!

String space = " "; //创建一个String对象,内容是" ",空格
String composite = space + "hello" + space + space; //字符串相加
composite.concat("world"); //字符串组合,concat是组合字符串的函数
String trimmed = composite.trim(); //去掉字符两边的空格
System.out.println(trimmed.length());输出trimmed的长度

//定义一个String对象,内容是" ",空格
String space = " ";
//字符串相加
String composite = space + "hello" + space + space;
//字符串组合,concat是组合字符串的函数
composite.concat("world");
//去掉字符两边的空格
String trimmed = composite.tri