web-dev-qa-db-fra.com

"Impossible d'activer une valeur de type String pour le niveau source inférieur à .." erreur dans Eclipse

J'utilise Eclipse pour développer un programme Java. J'ai dû rétrograder JRE et JDK de 1,7x à 1,6. Maintenant, tout pointe vers 1.6.x (y compris la conformité JRE installée et JDK).

Mais maintenant, Eclipse me donne toujours une erreur sur la déclaration switch, indiquant:

Impossible d'activer une valeur de type String pour un niveau de source inférieur à 1.7. Seules les valeurs int convertibles ou les constantes enum sont autorisées

sur le code ci-dessous:

Switch("test") // Which is fine with 1.7.x

J'ai enlevé 1.7.x de l'ordinateur, je ne sais pas pourquoi il cherche toujours 1.7 au lieu de 1.6?

9
Tony

La commutation sur les chaînes a été introduite dans Java 1.7!

Le message d'erreur est attendu lorsque vous rétrogradez en Java 1.6. Dans cette version, vous ne pouvez activer que des types primitifs et des énumérations.

Question connexe:

20
aioobe

Faites un clic droit sur votre projet, allez dans Propriétés. Sélectionnez Compilateur Java dans le menu de gauche. Sélectionnez votre niveau de conformité (1.7 ou 1.6). 1.7 arrêtera ce message. 1.6, comme d'autres l'ont déjà dit, ne vous laissera pas utiliser de chaînes.

15
live-love

switch(String) est la syntaxe applicable à partir de Java 7. Parce que vous avez 1.6 qui ne supporte pas switch (String), Eclipse donne une erreur de compilation.

Remplacez switch(String) par switch(int)

2
kosa

En fait, votre code n'est pas valide sur 1.6. Vous ne pouvez pas changer de chaîne.

2
Vitor De Mario

Dans Java 4 et les versions antérieures, vous ne pouviez utiliser que les types d'activation boolean, char, short, byte, int.

En Java 5 et 6, vous pouvez utiliser switch on Enums en plus des types précédents.

Et seul Java 7 prend en charge l’option Strings.

2
Amir Pashazadeh

J'ai rencontré le même problème lorsque j'ai essayé de déployer à l'aide de l'outil Ant.

La solution qui a fonctionné pour moi était:

  • Cliquez avec le bouton droit sur le projet, puis cliquez sur Propriétés.
  • Aller au chemin de construction Java
  • Aller à la bibliothèque système JRE
  • L'environnement d'exécution a été sélectionné. J'ai plutôt sélectionné Alterner JRE puis jre7 (comme indiqué ci-dessous)

 enter image description here

1
asif aftab