Java Generics - Classes

Deklaracja klasy ogólnej wygląda jak deklaracja klasy nieogólnej, z tą różnicą, że po nazwie klasy następuje sekcja parametru typu.

Sekcja parametru typu klasy ogólnej może mieć jeden lub więcej parametrów typu oddzielonych przecinkami. Te klasy są znane jako sparametryzowane klasy lub sparametryzowane typy, ponieważ akceptują jeden lub więcej parametrów.

Składnia

public class Box<T> {
   private T t;
}

Gdzie

  • Box - Box to klasa ogólna.

  • T- parametr typu ogólnego przekazany do klasy ogólnej. Może zająć dowolny obiekt.

  • t - Wystąpienie typu ogólnego T.

Opis

T jest parametrem typu przekazywanym do klasy ogólnej Box i powinien być przekazywany podczas tworzenia obiektu Box.

Przykład

Utwórz następujący program Java za pomocą dowolnego wybranego edytora.

GenericsTester.java

package com.tutorialspoint;

public class GenericsTester {
   public static void main(String[] args) {
      Box<Integer> integerBox = new Box<Integer>();
      Box<String> stringBox = new Box<String>();

      integerBox.add(new Integer(10));
      stringBox.add(new String("Hello World"));

      System.out.printf("Integer Value :%d\n", integerBox.get());
      System.out.printf("String Value :%s\n", stringBox.get());
   }
}

class Box<T> {
   private T t;

   public void add(T t) {
      this.t = t;
   }

   public T get() {
      return t;
   }   
}

Spowoduje to następujący wynik.

Wynik

Integer Value :10
String Value :Hello World