public class Test { public static void main(String[]args) { String s="Hello"; StringBuilder builder = new StringBuilder(s); change (s,builder); System.out.println(s); System.out.println(builder); } public static void change(String s,StringBuilder builder) { s=s+"world"; builder.append("world"); } }
时间: 2023-11-12 15:21:48 浏览: 166
关于String s=new String( "Hello")的例子思考
这段代码的输出结果是:
```
Hello
Helloworld
```
在这段代码中,首先创建了一个字符串变量s和一个StringBuilder对象builder,它们都初始化为"Hello"。然后调用了change()方法,传递了s和builder作为参数。在change()方法中,首先对s进行了字符串拼接操作,将它的值修改为"Hello world",但这个修改不会影响到调用change()方法之前的s变量,因为Java中的字符串是不可变的。接着,使用StringBuilder对象的append()方法将"world"添加到了builder的末尾,这个修改是可以被调用者main()方法中的builder对象所感知的。因此,最后输出的结果是"Hello"和"Helloworld"。
阅读全文