2012-08-01 15 views
9

Estoy usando Eclipse para desarrollar un programa Java. Tuve que degradar JRE y JDK de 1.7x a 1.6. Ahora todo apunta a 1.6.x (incluido el cumplimiento de JRE y JDK instalado)."No se puede activar el valor del tipo String para el nivel de origen debajo .." error en Eclipse

Pero ahora Eclipse todavía me da un error en la declaración switch, indicando:

No se puede cambiar en un valor de tipo String para el nivel de la fuente debajo de 1,7. Sólo valores int o constantes de enumeración convertible se permiten

en el código de abajo:

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

Quité 1.7.x desde el ordenador, no sé por qué se sigue buscando 1.7 en lugar de 1.6?

Respuesta

2

switch(String) es la sintaxis aplicable desde Java 7 en adelante. Debido a que tiene 1.6 que no es compatible con el interruptor (Cadena), eclipse que da error de compilación.

Cambio switch(String)-switch(int)

2

En realidad, su código no es válido en 1.6. No puedes hacer un cambio en una Cadena.

20

¡La activación de cadenas se introdujo en Java 1.7!

El mensaje de error es esperado cuando se degrada a Java 1.6. En esa versión solo puedes activar los tipos y enums primitivos.

pregunta relacionada:

2

En Java 4 y antes sólo se podía utilizar interruptor en boolean, char, short, byte, int tipos.

En Java 5 y 6 puede usar el interruptor en Enum s además de los tipos anteriores.

Y solo Java 7 admite el encendido String s.

13

Haga clic derecho en su proyecto, vaya a Propiedades. Seleccione el compilador de Java en el menú de la izquierda. Seleccione su nivel de cumplimiento (1.7 o 1.6). 1.7 detendrá ese mensaje. 1.6, como otros dijeron antes, no le permitirá usar cadenas.

+0

Gracias por el simple paseo a través! – DrupalFever

1

Tuve el mismo problema cuando traté de implementar usando la herramienta Ant.

La solución que funcionó para mí fue:

  • Haga clic derecho sobre el proyecto y haga clic en Propiedades
  • Ir a Java Build Path
  • Ir a JRE System Library
  • Entorno de ejecución se seleccionó ; Yo en cambio seleccionado alternativo JRE y luego jre7 (como se muestra a continuación)

enter image description here

Cuestiones relacionadas