Java Generics - คลาส

การประกาศคลาสทั่วไปดูเหมือนการประกาศคลาสที่ไม่ใช่ทั่วไปยกเว้นว่าชื่อคลาสจะตามด้วยส่วนพารามิเตอร์ type

ส่วนพารามิเตอร์ type ของคลาสทั่วไปสามารถมีพารามิเตอร์ประเภทหนึ่งพารามิเตอร์ขึ้นไปคั่นด้วยเครื่องหมายจุลภาค คลาสเหล่านี้เรียกว่าคลาสที่กำหนดพารามิเตอร์หรือชนิดพารามิเตอร์เนื่องจากยอมรับพารามิเตอร์อย่างน้อยหนึ่งพารามิเตอร์

ไวยากรณ์

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

ที่ไหน

  • Box - Box เป็นคลาสทั่วไป

  • T- พารามิเตอร์ประเภททั่วไปส่งผ่านไปยังคลาสทั่วไป สามารถใช้ Object ใดก็ได้

  • t - อินสแตนซ์ของประเภททั่วไป T.

คำอธิบาย

T คือพารามิเตอร์ type ที่ส่งผ่านไปยังคลาสทั่วไป Box และควรถูกส่งผ่านเมื่อสร้างอ็อบเจ็กต์ Box

ตัวอย่าง

สร้างโปรแกรม java ต่อไปนี้โดยใช้โปรแกรมแก้ไขที่คุณเลือก

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;
   }   
}

สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้

เอาต์พุต

Integer Value :10
String Value :Hello World