黑马程序员技术交流社区
标题:
String类型小困扰
[打印本页]
作者:
葛晓东
时间:
2014-6-1 19:03
标题:
String类型小困扰
本帖最后由 葛晓东 于 2014-6-3 23:44 编辑
public static void method_7(){
String s = "helloworld";
System.out.println(s);
s.substring(5);
System.out.println(s);
}
复制代码
明明截取了,为什么两输出结果一样哇?
作者:
李小然
时间:
2014-6-1 19:23
你只对字符串做了处理,但没有改变s的内容
所以输出还是原来的样子
public static void method_7(){
String s = "helloworld";
System.out.println(s);
//对s重新赋值
s =
s.substring(5);
System.out.println(s);
}
就可以了
作者:
felixzr
时间:
2014-6-1 19:33
版主说的很对,要改变值除非在赋值给S,String有不改变值的特征
作者:
☆枫の云
时间:
2014-6-1 19:39
分被版主抢走了{:2_32:}
作者:
lin'
时间:
2014-6-1 20:23
s.SubString(5)结果是一个新的字符串,你要用一个string对象去接收(String str=s.SubString(5)),就行了,能明白吗?
作者:
葛晓东
时间:
2014-6-1 21:43
李小然 发表于 2014-6-1 19:23
你只对字符串做了处理,但没有改变s的内容
所以输出还是原来的样子
ok,明白了
作者:
wyqs92
时间:
2014-6-3 14:40
大哥,你输出的是s啊!!!怎么可能不一样了。。。
作者:
blackstones1
时间:
2014-6-3 15:03
大家一起加油
作者:
pengyu
时间:
2014-6-3 15:25
对的,你要用一个String类型的变量接受才行呢
作者:
郝义涛
时间:
2014-6-3 15:27
希望你多看看string和StringBufffer的区别
作者:
博€$€海
时间:
2014-6-3 16:04
需要重新赋值
作者:
EDDY_Liang
时间:
2014-6-3 16:38
加油。。这是初级问题,我也是这么过来的
作者:
Horan
时间:
2014-6-3 18:48
String是不可变的,加油吧!
作者:
葛晓东
时间:
2014-6-3 21:58
李小然 发表于 2014-6-1 19:23
你只对字符串做了处理,但没有改变s的内容
所以输出还是原来的样子
ok 原来是忘记再次赋值了
作者:
四顾行者
时间:
2014-6-3 22:17
System.out.println(s.subString(5));
作者:
、海
时间:
2014-6-3 22:32
定义的s没做任何赋值,所以打印的s不变。你可以直接用System.out.println(s.substring(5));
作者:
落叶非花
时间:
2014-6-3 22:56
不要这样哦,s.substring()方法调用后,应该付给一个新的变量,调用这个方法不会改变原对象的值
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2