J'ai cette classe:
public class TimeIntCo<T> extends TimeValueCo<Integer> { }
6 Réponses :
Je doute qu'il y ait un refacteur pour cela. Il suffit de supprimer le fichier @ohadshai Commentaires: P>
Puis j'ai environ 10 000 erreurs dans Eclipse ... P>
blockQuote>
Je parie que la plupart d'entre eux peuvent être corrigés en modifiant un petit nombre de déclarations de sous-classe. P>
Connaissez-vous d'autres idées qui font cela? Idée? P>
blockQuote>
Non, je ne le fais pas. Les refacteurs sont généralement utilisés pour des transformations simples qui préservent la signification du code source d'origine. Cette transformation est peu probable pour le faire. P>
t code> n'est pas utilisé, il ne devrait y avoir aucune erreur de compilation pour corriger ...) P>
Connaissez-vous une autre IDE qui fait cela? IDÉE?
Si t ne vous fournit aucun avantage, déposez-le de la déclaration de classe: Il peut rester en toute sécurité dans la classe mère Timevalueco code>. < / p> p>
Oui, je pense que c'est correct. Ohadshai doit avoir une mauvaise utilisation des génériques.
Comme le refactoring IDE de construction ne peut pas gérer ce que vous voulez, alors Si vous êtes ennuyé de la recherche manuelle / remplacée, cela fonctionnera
while read -r file; do sed -i 's/TimeIntCo<[[:alpha:]]*>/TimeIntCo/g' "$file"; done < <(find /path/to/src/ -type f -iname "*.java")`
Introduisez une superclasse et modifier puis utilisez le refacteur d'Eclipse -> Utilisez Superype dans la mesure du possible p> p> timetinco code> pour l'étendre. p>
Ceci seulement des semi-oeuvres. Si vous n'avez qu'un seul paramètre générique, c'est OK, mais si vous avez plus d'un paramètre générique et que vous n'essayez d'utiliser que l'un d'entre eux, le paramètre générique doit avoir exactement le même nom partout, sinon Eclipse les gâche. Décevant.
juste faire une trouvaille textuelle / remplacer timetinco
TIMEINTCO code> sur toutes les classes Java. P>
Utiliser une recherche d'expression régulière et remplacer dans Eclipse (Recherche | Fichier):
Recherche de: Someclass \ <. * \> code>
et remplacer par:
soméclass code>.
Répétez les sous-classes si nécessaire. P>