[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends] Re: ポインターと参照
みやざき@東洋情報%自己フォローです。
こんなん作ってみました。
----- Test.java -----
public class Test {
// sub-string
// Object
public void modify_string(String str) {
String tmp = str.substring(0,3);
str = tmp;
}
// Object Array
public void modify_array_string(String[] str) {
String tmp = str[0].substring(0,3);
str[0] = tmp;
}
public static void main(String[] arg) {
String str1 = "replacing";
String str2[] = new String[1];
str2[0] = "replacing";
Test ts1 = new Test();
ts1.modify_string(str1);
System.out.println(str1);
Test ts2 = new Test();
ts1.modify_array_string(str2);
System.out.println(str2[0]);
}
}
----- ここまで -----
みたらわかるかと思いますが、3文字きり出して、それを元の変数に
放り込む、とゆー意図はわかるかと思います。
# わかんなかったら、ごめんなさい;
で、結果。
*******************
C:\TEMP>javac Test.java
C:\TEMP>java Test
replacing
rep
C:\TEMP>
*******************
配列の値を操作したほうは、きちんと処理されているということに
なります。メソッドは「浅いコピー」をするので、配列の値を変更
したときに、その配列を直接渡すことができるのかな、と思います
が……。
# 書いてて、何書いてるかよーわからんぞ;
っと、そろそろ出かけないといけないので、このへんで。
//////////////////////////////////////////////////////////////////////
//東洋情報システム・オープンソリューション事業部ソリューション営業部
// 宮崎靖士 e-mail:soara@xxxxxxxxxx
//////////////////////////////////////////////////////////////////////