Maison > Java > le corps du texte

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

王林
Libérer: 2024-02-09 10:45:09
avant
450 Les gens l'ont consulté

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!

source:stackoverflow.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal