Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

カテゴリー » JAVA February 03, 2011

Java 参照渡し 値渡し StringBuffer ID:1296712117


・値渡し:普通の関数の値渡し
プリミティブ型(int,boolean等)であれば値渡し

・参照渡し
JAVA言語は配列、及びオブジェクトは参照渡し


String型は参照渡しができないので、
もし参照渡しをしたければ以下のようにStringBufferクラスを使う

http://wisdom.sakura.ne.jp/programming/java/java23.html
http://www.tec-q.com/note/java/
http://d.hatena.ne.jp/haradago/20080226/p1


public static void main(String[] args) throws IOException {


ArrayList array = new ArrayList();
array.add("a");
func_array(array);
for (int i = 0; i < array.size(); i++) {
System.out.println(array.get(i));
}

String str = "c";
func_str(str);
System.out.println(str);

StringBuffer buf = new StringBuffer("e");
func_stringBuf(buf);
System.out.println(buf);


String hairetu[] = new String[]{"FFF","GGG"};
func_hairetu(hairetu);

for (int i = 0; i < hairetu.length; i++) {
System.out.println(hairetu[i]);
}


}

static private void func_array(ArrayList array){
array.add("b");
}

static private void func_str(String str){
str = str + "d";
}

static private void func_stringBuf(StringBuffer buf){
buf.append("f");
}

static private void func_hairetu(String[] str){
str[0] = "hhh";
}



実行結果

a
b
c
ef
hhh
GGG


オブジェクトの参照渡し例
class test {
String name;
int age;

public static void main(String args[]) {
test hina = new test();
hina.name = "成瀬川なる";
hina.age = 17;
System.out.println("名前\t\t年齢");
hina.write();

ref(hina , "前原しのぶ" , 13);
hina.write();

}

void write() {
System.out.println(name + "\t" + age);
}

static void ref(test obj , String name , int age) {
obj.name = name;
obj.age = age;
}
}
— posted by midilin @ 02:48PM
[コメントが多かった順の記事]
人の心理の裏をかくホームページ集客術:リピータになってもらうためには(233)
ホームページ心理学第2弾「メールの書きだしとホームページ運営・集客の関係」(76)
娘が生まれた(69)
ゲームと言えば、何を思い出す? (50)
Microsoftからアクセス (30)
「目標の立て方」と「努力」と「実行力」(26)