黑马程序员技术交流社区
标题:
java字符串的问题(已解决)
[打印本页]
作者:
宋浩
时间:
2012-6-7 10:18
标题:
java字符串的问题(已解决)
本帖最后由 宋浩 于 2012-6-8 12:05 编辑
String str="base";
str.concat("ket");
System.out.print(str);
最后输出的结果是base 这是为什么 不应该是baseket么?
作者:
刘克方
时间:
2012-6-7 10:22
标题:
String str="base";
本帖最后由 刘克方 于 2012-6-7 10:32 编辑
你的问题:String str="base";
str.concat("ket");
System.out.print(str);
最后输出的结果是base 这是为什么 不应该是baseket么?
解答:str.concat("ket");该方法返回一个String对象来保存串接后的字符串,而原来的str字符串不会有变化;
所以你可以定义一个新的字符对象来接收串联后的结果:String str2=str.concat("ket");
然后System.out.print(str2);这样就可以得到你想要的结果了
作者:
任睦强
时间:
2012-6-7 10:22
兄弟 你没有 赋值回去
应该这么写
String str="base";
str=str.concat("ket");
System.out.print(str);
这样就是baseket
作者:
马林贺
时间:
2012-6-7 10:25
String str="base";
str=str.concat("ket");
System.out.print(str);
这样就是你想要的结果了。
作者:
罗文杰
时间:
2012-6-7 10:26
concat()方法是有在传入参数字符串长度是0的时候才返回此 String 对象。否则创建一个新的 String 对象,所以你这里str.concat("ket")是一个新的字符串对象,你打印的还是以前的str对象,第二句改成str = str.concat("ket");就可以了
作者:
张天天
时间:
2012-6-7 13:07
package luntantest;
public class Test6 {
public static void main(String[] args) {
String str="base";
String str1 = str.concat("ket");
System.out.println(str);
System.out.println(str.concat("ket"));
System.out.println(str1);
}
}
输出结果是
base
baseket
baseket
你看了这个应该明白了吧
作者:
胡团乐
时间:
2012-6-7 13:22
public static void main(String[] args) {
String str = "base";
str=str.concat("ket");
str=str.concat("ball");
System.out.print(str);
}
这么写就好了,因为String是不可变的,直接给str添加是不行的,可以重新给赋值;
str=str.concat("ket");相当于给str重新赋值了;
作者:
胡卿
时间:
2012-6-7 22:52
String str="base";
str=str.concat("ket");// 赋值回str
System.out.print(str);
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2