「Java」ジェネリクスを使用するクラスのサンプル
環境
JDK1.8
Eclipse 2019
書式
class クラス名<T> {
public クラス名(T data) {
this.dta = data;
}
}
class クラス名<T> {
public クラス名(T data) {
this.dta = data;
}
}
class クラス名<T> { public クラス名(T data) { this.dta = data; } }
ジェネリクスでString型を指定する
クラス名<String> cgA = new クラス名<>(String型文字列);
ジェネリクスでInteger型を指定する
クラス名<Integer> cgA = new クラス名<>(Integer型文字列);
使用例
package com.arkgame.Test;
public class GenericMap {
public static void main(String[] args) {
// ジェネリクスでString型を指定
Chang<String> cgA = new Chang<>("study skill");
System.out.println(cgA.getFunc());
// ジェネリクスでInteger型を指定
Chang<Integer> cgB = new Chang<>(345);
System.out.println(cgB.getFunc());
// ジェネリクスでDouble型を指定
Chang<Double> cgC = new Chang<>(25.65);
System.out.println(cgC.getFunc());
// ジェネリクスでBoolean型を指定
Chang<Boolean> cgD = new Chang<>(false);
System.out.println(cgD.getFunc());
}
}
//ジェネリクスクラスの定義
class Chang<T> {
T dta;
// コンストラクタ
public Chang(T data) {
this.dta = data;
}
// メソッド
public T getFunc() {
return dta;
}
}
package com.arkgame.Test;
public class GenericMap {
public static void main(String[] args) {
// ジェネリクスでString型を指定
Chang<String> cgA = new Chang<>("study skill");
System.out.println(cgA.getFunc());
// ジェネリクスでInteger型を指定
Chang<Integer> cgB = new Chang<>(345);
System.out.println(cgB.getFunc());
// ジェネリクスでDouble型を指定
Chang<Double> cgC = new Chang<>(25.65);
System.out.println(cgC.getFunc());
// ジェネリクスでBoolean型を指定
Chang<Boolean> cgD = new Chang<>(false);
System.out.println(cgD.getFunc());
}
}
//ジェネリクスクラスの定義
class Chang<T> {
T dta;
// コンストラクタ
public Chang(T data) {
this.dta = data;
}
// メソッド
public T getFunc() {
return dta;
}
}
package com.arkgame.Test; public class GenericMap { public static void main(String[] args) { // ジェネリクスでString型を指定 Chang<String> cgA = new Chang<>("study skill"); System.out.println(cgA.getFunc()); // ジェネリクスでInteger型を指定 Chang<Integer> cgB = new Chang<>(345); System.out.println(cgB.getFunc()); // ジェネリクスでDouble型を指定 Chang<Double> cgC = new Chang<>(25.65); System.out.println(cgC.getFunc()); // ジェネリクスでBoolean型を指定 Chang<Boolean> cgD = new Chang<>(false); System.out.println(cgD.getFunc()); } } //ジェネリクスクラスの定義 class Chang<T> { T dta; // コンストラクタ public Chang(T data) { this.dta = data; } // メソッド public T getFunc() { return dta; } }
実行結果
study skill
345
25.65
false