我写的一个类如下:
public class StringsDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
StringBuffer dest = new StringBuffer(len); for (int i = (len - 1); i >= 0; i--) {
dest.append(palindrome.charAt(i));
}
System.out.println(dest.toString());
System.out.println(dest);
System.out.println(palindrome.toString());
System.out.println(palindrome);
}
}
结果为:
doT saw I was toD
doT saw I was toD
Dot saw I was Tod
Dot saw I was Tod
请问为什么会发生这样的变化??
public class StringsDemo {
public static void main(String[] args) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
StringBuffer dest = new StringBuffer(len); for (int i = (len - 1); i >= 0; i--) {
dest.append(palindrome.charAt(i));
}
System.out.println(dest.toString());
System.out.println(dest);
System.out.println(palindrome.toString());
System.out.println(palindrome);
}
}
结果为:
doT saw I was toD
doT saw I was toD
Dot saw I was Tod
Dot saw I was Tod
请问为什么会发生这样的变化??
就是说反转了字符串
dest.append(palindrome.charAt(i));
}
)使字符串返顺了2 这dest 指向是就是返顺后字符串
3 4 都是指向palindrome 就是字符串Dot saw I was Tod
System.out.println(dest);
System.out.println(palindrome.toString());
System.out.println(palindrome);
两句带toString()的都是废话,不写也一样
dest.append(palindrome.charAt(i));
} 是从后往前添加字符