参照に対する勘違いを起こす理由として、Java のメソッドには「オブジェクトを操作するメソッド」と「オブジェクトを生成するメソッド」の 2 タイプあり、最もよく使われる String クラスに「オブジェクトを生成するメソッド」しかないことが挙げられると思います。 結論から言ってしまうと、String クラスに用意されているメソッドは、どのメソッドを使ってもオブジェクトそのものの値は変わりません。 言い換えると、オブジェクトそのものの値を変えることができません。そのようなメソッドが存在しないからです。 String クラスにはオブジェクトの値を元にした新しいオブジェクトを生成するメソッドしか存在しません。 先のサンプルAの test1 メソッドの内容を変えたサンプルCを例とします。サンプルC public class SampleC { public static void main(Str