Estoy tratando de compilar el código siguiente:
public class Test {
public static void main(String[] args) {
String final = new String("");
final = "sample";
System.out.println(final);
}
}
Al parecer, el compilador me muestra los siguientes errores:
Test.java:5: error: not a statement
String final = new String("");
^
Test.java:5: error: ';' expected
String final = new String("");
^
Test.java:5: error: illegal start of type
String final = new String("");
^
Test.java:6: error: illegal start of type
final = "sample";
^
Test.java:7: error: illegal start of expression
System.out.println(final);
^
Test.java:7: error: illegal start of type
System.out.println(final);
^
He intentado reemplazar String final = new String("");
con String final;
pero el compilador sigue mostrando estos errores. ¿Alguna idea de lo que podría ser la causa?
final
es la palabra clave reservada de Java . No se puede utilizar como un nombre de variable. Más información sobre la denominación de las variables en Java . Hacer esto:
String string = new String("");
string = "sample";
System.out.println(string);
Sin embargo, esto es posible, ya que todavía respeta la regla para asignar el valor una vez:
final String string;
string = "sample";
System.out.println(string);
Por otro lado, si usted quiere decir para hacer cuerdas final
, no como un nombre de variable, pero como características, hay que colocarlo en el lado izquierdo de la cadena de definición. Sin embargo, la segunda línea no se compilará porque no se puede modificar la variable marcada como final
.
final String string = new String("");
string = "sample"; // not possible, string already has a value
System.out.println(string);
El comportamiento de la variable que es final
es que se puede inicializar una sola vez. Lea más en ¿Cómo funciona la palabra clave “final” en el trabajo de Java?