setInfo1 を呼び出した時点で新たな配列がつくられるわけではないし、
lisr#get しても新たな配列は作られない。

String[] array = new String[1];
set(array);
System.out.println(array[0]); //くそ と表示される

public void set(String[] a) {
 a[0] = "くそ"; //指定された配列につっこむ

 //a は呼び出し元の array とまったく同じ存在を指す。
 //同じ存在、というのは、同じ値を持つ、という意味ではない。
 //メソッドの中と外で、同じものに対する呼び名が変わっているだけに過ぎない。
 //この時点における a[0] = "くそ" は、
//呼び出し元で array[0] = "くそ" としたのとおなじこと。

 a = new String[1];
 //上記以降は、この a は array とはまったく別の存在を指す。
 a[0] = "みそ";
 //これは呼び出し元の array が指しているものとは違うものを指す。
 //なお、この a が指す新たな配列は、このメソッドが終わり次第、
 //プログラム上からは一切アクセス不能になる→そのうちメモリからも消える
}