Generika in Java

MD Aminul Islam 12 Oktober 2023
  1. Wie die Generics den Typ in Java sicherstellt
  2. Ein Beispiel mit der generischen Methode in Java
  3. Ein Beispiel mit der generischen Klasse in Java
Generika in Java

Wenn Sie einen allgemeinen Objekttyp für eine Klasse deklarieren, enthält er keine Funktion zum Bereitstellen der Sicherheit des Typs. Aber Sie können dieses Sicherheitsmerkmal einfach mit den Generika zu Ihrem Objekt hinzufügen.

In Java sind zwei Arten von Generika verfügbar, die erste ist die generische Methode und die zweite die generische Klasse.

Mit der generischen Methode können Sie eine Methode allgemeiner verwenden, da sie die Typparameter enthält und der eigentliche Typ diese Parameter zitiert.

Andererseits ist die generische Klasse größtenteils wie die nicht generische Klasse.

Der einzige Unterschied besteht jedoch darin, dass es einen Abschnitt für die Typparameter gibt. Außerdem können Sie mehrere Parameter verwenden.

In diesem Artikel werden wir die Generika in Java besprechen. Außerdem werden wir das Thema anhand von Beispielen diskutieren, die die Generika veranschaulichen und diese Codes Stück für Stück erklären.

Wie die Generics den Typ in Java sicherstellt

Lassen Sie uns besprechen, wie eine Generics-Klasse die Typisierung Ihres Programms sicherstellt. Wenn Sie ein Programm erstellen und versuchen, es zu kompilieren, prüft die Klasse Generic, ob während der Kompilierung ein Missbrauch des Typs aufgetreten ist.

Wenn ein inkompatibler Typ gefunden wird, wird ein Fehler angezeigt und die Kompilierung schlägt fehl.

Ein Beispiel mit der generischen Methode in Java

In unserem Beispiel unten sehen wir die Implementierung der generischen Methode. Der Code wird wie folgt aussehen:

class GenericMethod {
  // Declaring a generic method
  static <T> void MyDisplay(T data) {
    System.out.println("Your input is: " + data);
  }

  // Our controlling method ( Main method )
  public static void main(String[] args) {
    // Calling a generic method with an Integer argument
    MyDisplay(17);

    // Calling a generic method with a String argument
    MyDisplay("This is a string");

    // Calling a generic method with a double argument
    MyDisplay(16.0);
  }
}

Wir haben den Zweck jeder Zeile für unser obiges Beispiel bereits kommentiert. Wenn Sie nun das obige Codebeispiel ausführen, erhalten Sie eine Ausgabe wie die folgende.

Your input is: 17
Your input is: This is a string
Your input is: 16.0

Ein Beispiel mit der generischen Klasse in Java

In unserem Beispiel unten sehen wir die Implementierung der generischen Klasse. Hier ist der Name unserer generischen Klasse GenericClass mit dem Typ <T>.

Der Code wird wie folgt aussehen:

class GenericClass<T> {
  // Declaring a "T" type object
  T MyObj;
  GenericClass(T MyObj) {
    this.MyObj = MyObj;
  } // Creating a constructor
  public T getObject() {
    return this.MyObj;
  }
}

// Our controlling method ( Main method )
class Main {
  public static void main(String[] args) {
    // Declaring an instance of Integer type
    GenericClass<Integer> IntObj = new GenericClass<Integer>(19);
    System.out.println("The number is: " + IntObj.getObject());

    // Declaring an instance of String type
    GenericClass<String> StrObj = new GenericClass<String>("This is a string.");
    System.out.println(StrObj.getObject());
  }
}

Wir haben den Zweck jeder Zeile für unser obiges Beispiel bereits kommentiert. Wenn Sie nun das obige Codebeispiel ausführen, erhalten Sie eine Ausgabe wie die folgende.

The number is: 19
This is a string.

Ein wichtiger Hinweis hier, als Parametertyp können wir keine Primitive wie int, char, float oder double verwenden.

Bitte beachten Sie, dass die hier freigegebenen Codebeispiele in Java sind und Sie Java in Ihrer Umgebung installieren müssen, wenn Ihr System kein Java enthält.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Verwandter Artikel - Java Generics