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.
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); }
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; } }Die Parameter der
transform-Methode sollten list0833d296851a1e081f2175a4cbfa7135
并且它应该返回一个list2dd1b1a23a493c1b50630f436ee0c708
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?
laut transform
的预期签名,from
应该是 list0833d296851a1e081f2175a4cbfa7135
和 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; } }
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!