>Six Perfections 2009/04/27 (月) 04:30:09 ◆ ▼ ◇ [qwerty]> public class test {
> public static void main(String[] args) {
> StringBuffer sb1 = new StringBuffer("aaa");
> StringBuffer sb2 = new StringBuffer("bbb");
> StringBuffer sb3 = new StringBuffer();
> StringBuffer sb4 = new StringBuffer();
> sb4=sb1;
> System.out.print("---stringchange実行前---" + "\n");
> System.out.print("sb1:" + sb1 + "\n");
> System.out.print("sb2:" + sb2 + "\n");
> System.out.print("sb3:" + sb3 + "\n");
> System.out.print("sb4:" + sb4 + "\n");
> System.out.print("\n");
> stringchange(sb1);
> sb4=sb1;
> System.out.print("---stringchange実行後---" + "\n");
> System.out.print("sb1:" + sb1 + "\n");
> System.out.print("sb2:" + sb2 + "\n");
> System.out.print("sb3:" + sb3 + "\n");
> System.out.print("sb4:" + sb4 + "\n");
>
> }
> static void stringchange(StringBuffer sbchange) {
> sbchange.append("xxx");
> }
> }
> <実行結果>
> ---stringchange実行前---
> sb1:aaa
> sb2:bbb
> sb3:
> sb4:aaa
> ---stringchange実行後---
> sb1:aaaxxx
> sb2:bbb
> sb3:
> sb4:aaaxxx
どうしても書き換えたいなら
元の文字列をreplaceするといいよ(;´Д`)内部の変更だから上手くいくはず
sbchange.replace( sbchange ,"xxx");
な感じかな?
参考:2009/04/27(月)04時27分18秒