Java Generics - Ham Türler

Bir ham tür, oluşturma sırasında tür bağımsız değişkenleri iletilmezse, genel bir sınıfın veya arabirimin bir nesnesidir. Aşağıdaki örnek, yukarıda bahsedilen kavramı gösterecektir.

Misal

Seçtiğiniz herhangi bir düzenleyiciyi kullanarak aşağıdaki java programını oluşturun.

GenericsTester.java

package com.tutorialspoint;

public class GenericsTester {
   public static void main(String[] args) {
      Box<Integer> box = new Box<Integer>();
      
      box.set(Integer.valueOf(10));
      System.out.printf("Integer Value :%d\n", box.getData());
      
      
      Box rawBox = new Box();
      
      //No warning
      rawBox = box;
      System.out.printf("Integer Value :%d\n", rawBox.getData());
      
      //Warning for unchecked invocation to set(T)
      rawBox.set(Integer.valueOf(10));
      System.out.printf("Integer Value :%d\n", rawBox.getData());
      
      //Warning for unchecked conversion
      box = rawBox;
      System.out.printf("Integer Value :%d\n", box.getData());
   }
}

class Box<T> {
   private T t; 

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

   public T getData() {
      return t;
   } 
}

Bu, aşağıdaki sonucu verecektir.

Çıktı

Integer Value :10
Integer Value :10
Integer Value :10
Integer Value :10