Erro
% 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?";
}
}
Respostas:
Você precisa inicializar
errorSoon
, conforme indicado pela mensagem de erro, apenas a declarou .Você precisa inicializar a matriz para que ela possa alocar o armazenamento de memória correto para os
String
elementos antes de começar a definir o índice.Se você declarar apenas a matriz (como fez), não há memória alocada para os
String
elementos, mas apenas um identificador de referência paraerrorSoon
e lançará um erro ao tentar inicializar uma variável em qualquer índice.Como uma observação lateral, você também pode inicializar a
String
matriz dentro de chaves,{ }
assim,que é equivalente a
fonte
fonte
args = {"new","array"};
Você terá queargs = new String[]{"new", "array"};
- ou -
fonte
Eu acredito que você acabou de migrar do C ++. Bem, em java, você precisa inicializar um tipo de dados (outros tipos primitivos e String não é considerado um tipo primitivo em java) para usá-los conforme as especificações, se você não é como uma variável de referência vazia (como um ponteiro no contexto de C ++).
fonte
No Java 8 , também podemos fazer uso de fluxos, por exemplo
Caso já tenhamos uma lista de strings (
stringList
), podemos coletar no array de strings como:fonte
Sendo n quantas cordas ele precisa conter.
Você pode fazer isso na declaração ou sem a String [] posteriormente, desde que seja antes de tentar usá-las.
fonte
Se você passar uma matriz de string para um método, faça:
ou faça:
fonte
Você sempre pode escrever assim
fonte
Declaração de String:
Inicialização de String
Podemos obter caracteres individuais em String:
Se eu quiser obter um valor ASCII de caractere individual assim:
Agora eu quero converter o valor Ascii em Charecter / Symbol.
fonte
fonte
Você pode usar o código abaixo para inicializar o tamanho e definir o valor vazio para a matriz de Strings
fonte