Error
% javac StringTest.java
StringTest.java:4: variable errorSoon might not have been initialized
errorSoon[0] = "Error, why?";
Código
public class StringTest {
public static void main(String[] args) {
String[] errorSoon;
errorSoon[0] = "Error, why?";
}
}
Respuestas:
Debe inicializar
errorSoon
, como lo indica el mensaje de error, solo lo ha declarado .Debe inicializar la matriz para que pueda asignar el almacenamiento de memoria correcto para los
String
elementos antes de que pueda comenzar a configurar el índice.Si solo declara la matriz (como lo hizo), no hay memoria asignada para los
String
elementos, sino solo un identificador de referenciaerrorSoon
y arrojará un error cuando intente inicializar una variable en cualquier índice.Como nota al margen, también puede inicializar la
String
matriz dentro de llaves,{ }
por lo tanto,que es equivalente a
fuente
fuente
args = {"new","array"};
Deberá hacerloargs = new String[]{"new", "array"};
- o -
fuente
Creo que acabas de migrar de C ++. Bueno, en Java tienes que inicializar un tipo de datos (que no sean tipos primitivos y String no se considera un tipo primitivo en Java) para usarlos según sus especificaciones si no lo haces. es como una variable de referencia vacía (como un puntero en el contexto de C ++).
fuente
En Java 8 también podemos hacer uso de flujos, por ejemplo
En caso de que ya tengamos una lista de cadenas (
stringList
), podemos recopilarlas en una matriz de cadenas como:fuente
Con n siendo cuántas cuerdas necesita contener.
Puede hacerlo en la declaración, o sin la Cadena [] más adelante, siempre que sea antes de intentar usarlos.
fuente
Si pasa una matriz de cadenas a un método, haga lo siguiente:
o hacer:
fuente
Siempre puedes escribirlo así
fuente
Declaración de cadena:
Inicialización de cadena
Podemos obtener caracteres individuales en String:
Si quiero obtener un valor Ascii de carácter individual como este:
Ahora quiero convertir el valor Ascii en Charecter / Symbol.
fuente
fuente
Puede usar el siguiente código para inicializar el tamaño y establecer un valor vacío en la matriz de cadenas
fuente