Java Generics使い方 - Genericsメソッドを定義してみる
2009/02/20 16:02Update
サンプルからJava Genericsの使い方:Genericsメソッドの定義方法について学びます。
とりあえず、サンプルから見てみます。
実行結果:
public class TestGenericsMethod {
public static void main(String[] args) {
TestGenericsMethod test = new TestGenericsMethod();
System.out.println("Genericsメソッド:public <T> void method1(T value1)");
test.method1("100"); //パラメータにString文字列
test.method1(new Integer(200)); //パラメータにInteger型
System.out.println("Genericsメソッド:public <T> T method2(T value1, T value2)");
String ret1 = test.method2("300", "400"); //パラメータにString文字列、戻り値もStringになる
Boolean ret2 = test.method2(Boolean.TRUE, Boolean.FALSE); //パラメータにBoolean型、戻り値もBooleanになる
System.out.println(ret1);
System.out.println(ret2);
System.out.println("Genericsメソッド:public <T1, T2> String method3(T1 value1, T2 value2)");
String ret3 = test.method3("500", Boolean.TRUE); //パラメータにString文字列型とBoolean型
String ret4 = test.method3(new Integer(600), Boolean.TRUE); //パラメータにInteger型とBoolean型
System.out.println(ret3);
System.out.println(ret4);
}
//戻り値なしのGenericsメソッド
public <T> void method1(T value1) {
System.out.println("medhod1:" + value1.toString());
}
//戻り値がある、パラメータ型に同じGenerics型でである メソッド
public <T> T method2(T value1, T value2) {
if (value2 != null) {
return value2;
}
return value1;
}
//戻り値がある、パラメータ型に複数のGenerics型でである メソッド
public <T1, T2> String method3(T1 value1, T2 value2) {
if (value2 != null) {
return value2.toString();
} else if (value1 != null) {
return value1.toString();
}
return null;
}
}
実行結果:
Genericsメソッド:public <T> void method1(T value1)
medhod1:100
medhod1:200
Genericsメソッド:public <T> T method2(T value1, T value2)
400
false
Genericsメソッド:public <T1, T2> String method3(T1 value1, T2 value2)
true
true
medhod1:100
medhod1:200
Genericsメソッド:public <T> T method2(T value1, T value2)
400
false
Genericsメソッド:public <T1, T2> String method3(T1 value1, T2 value2)
true
true
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)