Mise en œuvre des classes et sous-classes dans le contenu de l'aider dans eclipse
-
26-10-2019 - |
Question
Ce que j'essaie de faire est ceci:
List<String> list = new
et puis, appuyez sur Ctrl+Espace et d'obtenir ArrayList<String>()
(parmi d'autres) à apparaître dans le type de proposition.
J'ai pensé que j'ai eu ce travail auparavant, mais j'ai récemment eu à réinstaller et ne peut pas trouver le réglage pour elle.
C'est Eclipse Java EE helios, mais je peux mettre à jour à l'indigo en cas de besoin.
J'ai essayé de regarder ici pour obtenir de l'aide, mais n'ai pas trouvé l'info que je cherchais.J'ai essayé en cochant toutes les cases sous "Défaut de Proposition de Types" (Java -> Editeur -> assistant de Contenu -> Avancé" en vain.
La solution
Eclipse ne sait pas quelle classe implémente l'interface, et ne les charger pour toutes les interfaces dont il dispose. MAIS, Eclipse peut apprendre ce que vous utilisez et vous montrer à l'utilisation prochaine, peut-être que ce qui vous est arrivé, avec le temps vous a appris Eclipse les classes implémentées!
Voici un exemple d'Eclipse avant l'apprentissage / et après avoir appris ce que les classes à mettre en œuvre Map
.
Comme vous pouvez le voir dans l'image, la première fois, Eclipse ne savait pas autre chose que HashMap
, que j'utilisé auparavant.
Après cela, j'ai utilisé TreeMap
et LinkedHashMap
en les tapant manuellement (première fois seulement) et Eclipse maintenant les mises en cache.
Comme les gars ont suggéré, vous pouvez mettre le point sur Map
et cliquez sur Ctrl+T
il donnera toutes les classes les outils cela. Sera utile la première fois.
Mise à jour en 2014!
Comme @ K.Carpenter remarqué, cette fonctionnalité est désactivée dans les versions plus récentes Eclipse. Pour le réactiver. Aller à Fenêtre-> Préférences-> Java-> Editor-> Contenu Assist-> Avancé.
Dans Types de proposition par défaut , vous devez vérifier Propositions Java de type
Autres conseils
code comme celui-ci est l'un de mes animaux de Java déteste Generics. J'utilise Google Goyave bibliothèques pour faire mon code de médicaments génériques plus lisible, et comme Side- effet ne pas besoin de cette caractéristique particulière dans Eclipse (si je suis d'accord qu'il devrait être mis en œuvre). Goyave a un support similaire pour jeux aussi.
Par exemple, je déclare normalement mon code comme suit:
import com.google.common.collect.Lists;
...
List myList<String> = Lists.newArrayList();
Je voudrais voir Eclipse faire, mais je suppose que jamais travaillé aider le contenu sans caractère de départ (sauf si il y a une fonctionnalité cachée que nous ne savons pas).
Eh bien, ayant cela à l'esprit, ce que je fais pour contourner le problème de faire enfermer avec les plus implémentations utilisées ' est de regarder la javadoc dans la section All Known Implementing Classes
, pour voir d'autres possibilités que je pouvais utilisation.
Je sais que ce n'est pas une solution dans Eclipse, mais il peut aider certains utilisateurs qui est resté coincé dans le même problème.
Voici une façon que vous pouvez ajouter un nouveau modèle à eclipse, puis tout ce que vous avez à faire est de type arraylist, appuyez sur ctrl + espace et crée l'ensemble de la déclaration pour vous.Tout ce que vous avez à faire est d'ajouter le type et le nom.
Enregistrez le fichier, puis importer dans eclipse
Voici comment faire pour importer/exporter un modèle
Allez dans Window > Preferences > Java > Éditeur > Modèles
Sélectionnez les modèles que vous voulez.NB!Les cases à cocher ne pas indiquer ce qui est sélectionné;ils sont utilisés pour activer/désactiver un modèle.Un modèle est sélectionné si l'ensemble de la ligne dans le tableau est sélectionné, de sorte utilisez Ctrl+Clic Gauche ou la méthode spécifique à votre système d'exploitation multi-sélectionnez modèles.
Cliquez sur Importer... et sélectionner le fichier XML que vous avez reçu.Ou à l'Exportation... et fournir un nom de fichier.
Type arrayList
Appuyez sur ctrl+espace et choisissez arraylist
Remplissez le type et le nom
Pas faire semblant d'être une réponse à votre question, mais je l'utilise (Quick Fix Ctrl + 1 / Ctrl + 2 ) pour définir une nouvelle variable locale ou un champ.
D'abord, je tape (peut-être en utilisant Ctrl + Espace pour l'assistant de contenu):
new ArrayList<String>();
Alors j'appuyez sur Ctrl + 2 et L qui attribue la déclaration à la nouvelle variable locale en générant définition de la variable de type instancié:
ArrayList<String> arrayList = new ArrayList<String>();
Enfin, j'utilise l'onglet (on peut aussi utiliser Enter) pour naviguer entre inséré arrayList
et ArrayList
pour spécifier le nom de la variable exacte et le type de liste déroulante:
List<String> list = new ArrayList<String>();
En appuyant sur l'onglet pour la troisième fois le curseur se déplace à la fin de l'instruction.
Hope, vous trouverez cette façon utile aussi.
Je suis en mesure de le faire, mais il ne se présente pas dans la proposition de type. Essayez de taper:
List<String> list = new Ar
Appuyez sur Ctrl-Espace et juste accepter la première suggestion. Il complète à ArrayList<String>()
pour moi (ce qui utilise la distribution SpringSource Tool Suite Eclipse).