「Java」ジェネリクスを使用するクラスのサンプル

環境
JDK1.8
Eclipse 2019

書式

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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型文字列);

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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

Java

Posted by arkgame