最新記事
カテゴリアーカイブ

2020年01月16日

Java ジェネリックス(ジェネリクス)

ジェネリックス(ジェネリクス)は、<>で囲んだ型名を
クラスやメソッドに付加して定義することで
汎用的なクラスをコンパイルする時に特定の型に対応させるための機能。

通常は使用目的や意味を表すTypeやElementの頭文字T、Eを用います。
難しいことは抜きにして書くことこんな感じになります。

class Demo{

 private T value;

 //コンストラクタ
 Demo4(T val){
  this.value = val;
 }

 //値の設定
 public void setValue(T val) {
 this.value = val;
 }

 //値の取得
 public T getValue() {
 return value;
 }
}

class Example{
 public static void main(String[] args) {

  Demo d1 = new Demo("こんにちは");
  System.out.println(d1.getValue());
  d1.setValue("文字列");
  System.out.println(d1.getValue());

  Demo d2 = new Demo(987654);
  System.out.println(d2.getValue());
  d2.setValue(123456);
  System.out.println(d2.getValue());
 }
}


===== 実行結果 =====

こんにちは
文字列
987654
123456

====================

DemoのTは、Demoをインスタンス化する時に指定した型になります。
String型であっても、Integer型であってもキャスト(型変換)が不要で
指定した型の値を設定・取得することができるようになります。

高血圧の改善に薬や運動は不要だった!?

復縁に必要不可欠な7つとは!?



検索