习题1.1.5
以下这段代码会打印出什么?
String s = "Hello World"; s.toUpperCase(); s.substring(6, 11); StdOut.println(s);
要点解析
在习题1.1.4中,我们已经说过,String类的每一个看起来会修改String类值的方法,实际上都是创建了一个全新的对象,所以最后s的值并没有变化。
参考答案
“Hello World”。 String对象是不可变的—所有字符串方法都会返回一个新的String对象 (但它们不会改变参数对象的值)。这段代码忽略了返回的对象并直接打印了原字符串。要打印出” World”,请用s=s.toUpperCase()和s=s.substring(6,11)。
public class Five { public static void main(String[] args) { String s = "Hello World"; s.toUpperCase(); s.substring(6, 11); StdOut.println(s); s=s.toUpperCase(); StdOut.println(s); s=s.substring(6,11); StdOut.println(s); } } 输出: Hello World HELLO WORLD WORLD
请登录之后再进行评论