Array de char para String
E ai galera, voltei com uma dúvida que tá me quebrando a cabeça. Eu to querendo transformar um array de caracteres em uma string, até aí tudo bem:
isso funciona, mas eu quero inserir mais caracteres nesse array e transformar ele em String, ou queria que ele fosse vazio e eu inserir conforme o comando dado. Alguém pode me ajudar, to tentando fazer assim, mais dá erro durante a execução:
char KeyText[] = {'a','b','c'};
str = new String(KeyText);KeyText[0] = 'b';
Marciano Pazinato
Curtidas 0
Respostas
Dadario
09/04/2009
Fazer Arrays dinânico é sempres complicado...
Para se trabalhar assim, é preciso sempre criar um novo array com o novo tamanho e copiar do antigo para o novo.
Eu recomendo fazer com collection
Tipo, você cria a collection
Depois sempre que quizer, insere um char, só que em forma de objeto
Depois para montar sua string:
:wink: :wink: :wink: :wink:
List keyText = new ArrayList();
keyText.add(new Character('a'));char[] values = new char[keyText.size()];
int i = 0;
for(Iterator iter = keyText.iterator(); iter.hasNext(); i++) {
values[i] = ((Character)iter.next()).charValue();
}
String suaString = new String(values);GOSTEI 0
Marciano Pazinato
09/04/2009
Desculpa ai galera, esqueci de falar que to utilizando isso em J2ME, daí tem coisas nesse código que não funciona tipo Iterator, ArrayList. Foi mal...
:lol:
GOSTEI 0
[pt]devilishly
09/04/2009
Boas!
Simplesmente tens de criar um array com um tamanho previamente definido, tipo:
Dp para introduzires os valores é só fazer:
Tens tb de ter cuidado, para verificar se o array de chars ja está cheio. Caso isso acontece deves reconstruir o array pelo menos com o dobro da capacidade.
Por exemplo:
Fika bem,
[PT]Devilishly
int LENGTH = 10; char[] keyText = new char[LENGTH ];
keyText[0] = 'b';
public void refazerArray(){
LENGTH = LENGTH*2;
char[] temp = new char[LENGTH];
for(int i=0; i<keyText.length; i++)
temp[i] = keyText[i];
keyText = new char[temp.length];
for(int i=0; i<keyText.length; i++)
keyText[i] = temp[i];
}GOSTEI 0
Marciano Pazinato
09/04/2009
Valeu galera, muito obrigado mesmo!!!
:!: :!: :!: :!: :!:
GOSTEI 0
Dadario
09/04/2009
[quote="Pazinato"]Desculpa ai galera, esqueci de falar que to utilizando isso em J2ME, daí tem coisas nesse código que não funciona tipo Iterator, ArrayList. Foi mal...
:lol:
Então isto deveria está no tópico de J2ME...
Movendo...
GOSTEI 0
Ricardo
09/04/2009
Você pode usar Vector no J2ME que é um Collection
GOSTEI 0