Table des matières
Contenu de la question
Solution
Maison Java Utiliser deux génériques pour implémenter une interface

Utiliser deux génériques pour implémenter une interface

Feb 09, 2024 am 10:45 AM

L'éditeur PHP Xinyi vous présentera comment utiliser deux génériques pour implémenter l'interface. Les génériques sont une fonctionnalité qui permet l'utilisation de paramètres de type dans les langages de programmation, ce qui peut augmenter la flexibilité et la réutilisabilité du code. Lors de l'implémentation d'une interface, nous pouvons utiliser des génériques pour spécifier les paramètres de type dans l'interface, afin que différents types de données puissent être utilisés dans différents scénarios. Cette méthode peut rendre notre code plus polyvalent et évolutif et améliorer l'efficacité du développement. Dans cet article, nous expliquerons en détail comment utiliser deux génériques pour implémenter l'interface et donnerons un exemple de code pour votre référence.

Contenu de la question

J'ai une tâche dans mes devoirs mais je n'arrive pas à m'en remettre.

Le code de l'interface du transformateur est le suivant :

public interface transformer<from, to> {
    to transform(from value);
}
Copier après la connexion

Jusqu'à présent, le code de la classe personsubscribertransformer ressemble à ceci :

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;
    }
  }
Copier après la connexion
Les paramètres de la méthode

transform devraient être list<person>并且它应该返回一个list<subscriber>. Lorsque je modifie les paramètres, je reçois un message d'erreur indiquant que je dois extraire la méthode vers l'interface du transformateur.

Quelle est la solution pour mettre en œuvre cette méthode de la bonne manière ?

Solution

selon transform 的预期签名,from 应该是 list<person>to 应该是 list<subscriberphpcngt phpcn. Les classes elles-mêmes ne doivent pas être génériques.

public class PersonSubscriberTransformer implements Transformer<List<Person>, List<Subscriber>> {
    // constructor...
    
    @Override
    public List<Subscriber> transform(List<Person> persons) {
        // complete this method...
        return null;
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)