Galera to com uma dúvida sobre string…
Eu estou acostumado com C, e lá pra atribuir uma frase ou palavra uso vetor/matriz de Char…
Minha duvida é a seguinte:
Assim como eu fazia no C usando vetor de char tem como fazer em Java pra fazer referencia a uma posição da string?
Por exemplo em C se quizesse fazer
char vetPalavra[] = "palavra";
vetPalavra[0] = 'P';
Resumindo… consigo alterar somente um caracter ou pedaço desejado!
É possivel fazer isso usando String me Java? ou terei que usar Char também?
Obrigado!
Em resumo, não é possível… não oficialmente falando, pelo menos.
Strings em Java são objetos imutáveis…você não altera depois que cria…
No máximo você cria uma outra, a partir da original, com alguma alteração.
Há algumas maneiras para se fazer isso:
-
Utilizar a classe StringBuilder para fazer isso. Ela tem métodos apropriados pra esse tipo de alteração.
-
Transformar a String em array (.toCharArray), alterar o valor e recriar a String usando o array no construtor.
Ola, segue abaixo meu exemplo:
public void retornaChar ( ) {
char cArray []= {'A','b','c','d'};
cArray [1] = 'y';
String testeRecebeChar = String.valueOf(cArray);
System.out.println(cArray[1]);
System.out.println(testeRecebeChar);
}
tem um exemplo mais completo em http://trivial.4host.com.br/blog/alterar-caracter-em-char-array-e-converter-em-string-java/
espero te ajudado
ao inves de usar vetor de char… num eh melhor usar uma String??? para pegar a posição é só ‘nomestring’.charAt(index)…
Ola,
Mas pelo que eu entendi ele quer modificar um determinado character, em uma posiçao especifica. Se for só pegar o char da posição sim, melhor String com charAt ou se for mais de um character usar subString.
[]´s
[quote=AbelBueno]Em resumo, não é possível… não oficialmente falando, pelo menos.
Strings em Java são objetos imutáveis…você não altera depois que cria…
No máximo você cria uma outra, a partir da original, com alguma alteração.
Há algumas maneiras para se fazer isso:
-
Utilizar a classe StringBuilder para fazer isso. Ela tem métodos apropriados pra esse tipo de alteração.
-
Transformar a String em array (.toCharArray), alterar o valor e recriar a String usando o array no construtor.[/quote]
AbelBueno valeu cara, vou dar uma pesquisada! 
[quote=cardosao]Ola, segue abaixo meu exemplo:
public void retornaChar ( ) {
char cArray []= {'A','b','c','d'};
cArray [1] = 'y';
String testeRecebeChar = String.valueOf(cArray);
System.out.println(cArray[1]);
System.out.println(testeRecebeChar);
}
tem um exemplo mais completo em http://trivial.4host.com.br/blog/alterar-caracter-...ay-e-converter-em-string-java/
espero te ajudado[/quote]
cardosao ajudou e muito parceiro. Achei bem simples de usar valeu!
els1234 valeu cara, também vai ser possível utilizar o .charAt()
Mais uma dúvida teria como inserir uma palavra dentro de uma frase através do charAt? ou somente 1 caracter?
Obrigado galera!