J'ai une structure générique et je dois effectuer une recherche en utilisant divers attributs de type générique.Substitution pour le champ de type générique
songeons à la mise en œuvre suivante:
public class Person {
private int id;
private String name;
// + getters & setters
}
Maintenant, j'ai ma structure de données personnalisées et l'un de ses méthode est comme:
public T search(T data) { ... }
C'est un non-sens bien sûr. Ce que j'ai vraiment besoin dans le code est quelque chose comme:
Person p = structure.search(12); // person's id
ou
Person p = structure.search("Chuck N."); // person's name
Donc pseudoJava (:)) le code serait quelque chose comme ceci:
public T search(T.field key)
Ce n » Bien sûr, mais comment faire face à ce genre de situation? Le fait est que je ne veux pas forcer les classes du client (comme Person) à implémenter ma propre interface ou à étendre ma propre classe. ?
Mais la classe Person est forcée d'implémenter Matcher, correct? – Xorty
Non. J'en ajouterai d'autres. –
S'il vous plaît le faire :) – Xorty