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.

Était-ce utile?

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.

entrer image description ici

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

Type arraylist

Appuyez sur ctrl+espace et choisissez arraylist

Press Ctrl + Space

Remplissez le type et le nom Fill in the type and name

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).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top