Inhaltsverzeichnis
Frageninhalt
Lösung
Heim Java Verwenden Sie zwei Generika, um die Schnittstelle zu implementieren

Verwenden Sie zwei Generika, um die Schnittstelle zu implementieren

Feb 09, 2024 am 10:45 AM

Der PHP-Editor Xinyi stellt Ihnen die Methode zur Verwendung von zwei Generika zur Implementierung der Schnittstelle vor. Generics sind eine Funktion, die die Verwendung von Typparametern in Programmiersprachen ermöglicht, wodurch die Flexibilität und Wiederverwendbarkeit von Code erhöht werden kann. Bei der Implementierung einer Schnittstelle können wir Generika verwenden, um die Typparameter in der Schnittstelle anzugeben, sodass unterschiedliche Datentypen in unterschiedlichen Szenarien verwendet werden können. Diese Methode kann unseren Code vielseitiger und skalierbarer machen und die Entwicklungseffizienz verbessern. In diesem Artikel erklären wir ausführlich, wie Sie zwei Generika zum Implementieren der Schnittstelle verwenden, und geben Beispielcode als Referenz.

Frageninhalt

Ich habe eine Aufgabe in meiner Hausaufgabe, komme aber nicht damit klar.

Der Code der Transformatorschnittstelle lautet wie folgt:

public interface transformer<from, to> {
    to transform(from value);
}
Nach dem Login kopieren

Bisher sieht der Code für die personsubscribertransformer-Klasse so aus:

public class PersonSubscriberTransformer<FROM, TO> implements Transformer {
    private Predicate<Person> predicate;
    public PersonSubscriberTransformer(Predicate<Person> predicate) {
        this.predicate = predicate;
    }
    @Override
    public Object transform(Object value) {
        return null;
    }
  }
Nach dem Login kopieren
Die Parameter der

transform-Methode sollten list<person>并且它应该返回一个list<subscriber> sein. Wenn ich die Parameter ändere, erhalte ich eine Fehlermeldung, die besagt, dass ich die Methode auf die Transformer-Schnittstelle ziehen soll.

Was ist die Lösung, um diese Methode richtig umzusetzen?

Lösung

laut transform 的预期签名,from 应该是 list<person>to 应该是 list<subscriberphpcngt phpcn. Klassen selbst sollten nicht generisch sein.

public class PersonSubscriberTransformer implements Transformer<List<Person>, List<Subscriber>> {
    // constructor...
    
    @Override
    public List<Subscriber> transform(List<Person> persons) {
        // complete this method...
        return null;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonVerwenden Sie zwei Generika, um die Schnittstelle zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)