


So verwenden Sie Platzhalter, um die generische Leistung von Java zu verbessern
Verwenden Sie Platzhalter, um Generika zu verbessern
1. Frage
Generika sind eine wichtige Funktion von JAVA und können die Code-Wiederverwendungsrate verbessern.
Implementierung: Verwenden Sie Platzhalter in generischen Methoden
2. Ideen zur Problemlösung
Erstellen Sie eine Klasse: WildcardsTest.
Erstellen Sie eine Methode getMiddle(), um den Mittelwert einer bestimmten Liste abzurufen.
Verwenden Sie bei Generika „?“ als Platzhalterzeichen wie bei gewöhnlichen Typparametern. Platzhalterzeichen können beispielsweise das Schlüsselwort „extends“ verwenden, um die Obergrenze des Werts festzulegen. Beispielsweise bedeutet
erweitert Number>
, dass Byte, Double, Float und Integer für diesen Typparameter geeignet sind.
Außerdem gibt es eine Obergrenze und eine Untergrenze, wie zum Beispiel
super Number>
w bedeutet, dass der Typparameter die übergeordnete Klasse der Number-Klasse ist, wie zum Beispiel Object.
3 . Detaillierte Code-Erklärung
package com.xiaoxuzhu; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Description: * * @author xiaoxuzhu * @version 1.0 * * <pre class="brush:php;toolbar:false"> * 修改记录: * 修改后版本 修改人 修改日期 修改内容 * 2022/5/10.1 xiaoxuzhu 2022/5/10 Create ** @date 2022/5/10 */ public class WildcardsTest { public static Object getMiddle(List extends Number> list) { return list.get(list.size() / 2); } public static void main(String[] args) { List
Ergänzende Wissenspunkte
Generika
Sie können
1. Parametertypen werden bei der Erstellung von Klassen, generischen Klassen, verwendet.
2. Parametertypen werden bei der Erstellung von Schnittstellen, generischen Schnittstellen, verwendet.
3. Parametertypen werden bei der Erstellung von Methoden verwendet, generische Methoden. Beachten Sie die Deklarationsposition des generischen
? Geben Sie Platzhalter ein.
Mehrere Formen von Platzhaltern:
1.
2. Platzhalter für Obergrenze, erweitert Benutzer>. Gibt an, dass der Parametertyp nur eine Unterklasse von User sein kann.
3. Platzhalter für untere Grenze, Super-Benutzer>. Gibt an, dass der Parametertyp nur die übergeordnete Klasse von User sein kann.
public class P<T> { private T t; public T getT(){ return t; } //通配符 //设置指定类型的范围,超过范围就会报错 //extends : 指定范围必须是其(这里是List)子类 public void set(P<? extends List> list){ return; } //super : 指定类型必须是其(这里是List)父类 public void setSuper(P<? super List> list){ return; } public static void main(String[] args) { new P<String>(); //T会被替换成String new P<Integer>(); //T会被替换成Integer Person<String,List,Double,User> person = new Person<String,List,Double,User>();//T会被替换成String,B会被替换成List... person.eat("鱼"); } } class User<T extends P>{//这里给类的泛型指定范围,T必须要继承类P。 } //一个类可以同时指定多个泛型 class Person<T,B,S,N>{ private T t; private B b; private S s; private N n; public void eat(T t){ this.t = t; System.out.println("我正在吃"+this.t); } }
Die Deklaration von Generics gibt an, dass ein unbekannter Datentyp bei der Erstellung von Klassen, Schnittstellen und Methoden verwendet werden soll. Es kann vom Typ Integer oder String sein. Definieren Sie einfach seinen Typ als T, S oder N usw.
Beim Instanziieren müssen Sie den spezifischen T-Typ deklarieren.
Bei der Definition der Verwendungsmethode eines generischen Objekts wissen wir immer noch nicht, um welchen Typ T es sich handelt. Es kann sich um einen String-Typ oder einen Integer-Typ handeln. Wenn T als ein bestimmter generischer Datentyp definiert ist, können die Parameter nur von diesem Datentyp sein. Derzeit werden Platzhalter anstelle bestimmter generischer Datentypen verwendet.
Verwenden Sie Generika und Platzhalter, um die Wiederverwendbarkeit von Code zu verbessern.
Wenn Sie ein Objekt in zwei Teile unterteilen: Deklaration und Verwendung. Generics konzentrieren sich auf die Wiederverwendung von Code bei der Typdeklaration, während Wildcards sich auf die Wiederverwendung von Code bei der Verwendung konzentrieren. Generische Elemente werden verwendet, um die Unsicherheit über interne Datentypen zu definieren, und Platzhalter werden verwendet, um die Unsicherheit über den Typ der verwendeten Objekte zu definieren.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Platzhalter, um die generische Leistung von Java zu verbessern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools