一个scjp的输出小问题

jackyshowdorious 2005-03-22 08:48:23
class Test
{
public static void replaceJ(String text)
{
text.replace ('j', 'l');
System.out.println(text);
}

public static void main(String args[])
{
String text = "java";
replaceJ(text);
System.out.println(text);
}
}
请问输出是什么?
为什么是那样
...全文
62 点赞 收藏 2
写回复
2 条回复
kingfish 2005年03月22日
String text = "java";
replaceJ(text); //String类是不可变类,无法修改
System.out.println(text); //输出“java”
回复 点赞
javafarmer 2005年03月22日
class Test
{
public static void replaceJ(String text)
{
text.replace ('j', 'l'); //通过replace方法替换,又生成了一个新的对象。但不改变text的内容。如果System.out.println(text.replace('j','l'));结果就是lava;
System.out.println(text);
}

public static void main(String args[])
{
String text = "java";
replaceJ(text);
System.out.println(text);
}
}
回复 点赞
发动态
发帖子
Java SE
创建于2007-09-28

3.4w+

社区成员

30.7w+

社区内容

Java 2 Standard Edition
社区公告
暂无公告