Isso é uma novidade p/ mim:

já que o Exception é um IndexOutOfBoundsException, no seu exemplo, se o 
String tiver um ' \0'  character, ele seria imprimido, então modificando:

System.out.print(test.charAt(x++));
para:

System.out.println((int)test.charAt(x++));

deveria imprimir 0 como o ultimo int, mas não faz

O String guarda o valor dele assim:
char value[];

porem a classe Array é utilizado para saber o tamanho do array por exemplo:
value.length = 5 no nosso exemplo com "teste"

porem 

char value[] = {'t', 'e', 's', 't', 'e'};
value.lengt == 5

em C/C++ não existe um classe array que faz isso para vc
char teste[5];
strcpy("teste", teste);
do{
printf("%s", teste);
} while(true);
o outoput disso não seria:
teste
mas seria algo assim:
teste¨%$%¨(%¨(¨%%D&%¨#DDT&*(Y * *Y(&¨¨&T&¨¨TV*R%¨R
até por acaso um '\0' seria achado na mémoria simplismente porque o array cd chars não 
tem espaço para o terminador. Só funciona com char teste[6];

Isso é um dos maiores problemas de C/C++ e possibilita 80% dos exploits no segurança 
de qualquer OS.

sven






Jason Douglas de Oliveira wrote:

> Boa Tarde Carlos.
> 
> Neste caso você só tem a matriz sem finalizador.
> tente isso:
>     String test = "teste";
>     int x=0;
>     try{
>       do{
>          System.out.print(test.charAt(x++));
>       }while(true);
>     }catch(Exception __e){
>       System.out.println(__e.getMessage());
>     }
> quando o erro ocorre o char('\0') não é impresso.
> 
> Abraços.
> 
> 
> 
> 
> ----- Original Message -----
> From: Carlos Alberto Viana Correia - SAO <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, May 11, 2001 10:36 AM
> Subject: RES: [java-list] como sei o final de uma string
> 
> 
> Acesso pelo menor preço do mercado! R$ 14,90 nos 3 primeiros meses!
> ASSINE AGORA! http://www.bol.com.br/acessobol/
> 
> 
> é \0 mesmo no último caracter..
> 
> -----Mensagem original-----
> De: jspdeveloper [mailto:[EMAIL PROTECTED]]
> Enviada em: sexta-feira, 11 de maio de 2001 09:35
> Para: [EMAIL PROTECTED]
> Assunto: [java-list] como sei o final de uma string
> 
> 
> pessoal, bom dia!
> 
> ontem me fizeram uma pergunta q nao soube responder: como sabemos o final de
> uma string.
> no C , nao me lembro bem, mas eh algo parecido com \0.
> 
> No java a string eh uma matriz de caracteres, pelo que entendi. Mas no final
> dessa matriz eu tenho caracter finalizador ou eh soh a matriz mesmo?
> 
> 0brigad0!
> 
> 
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
> 
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
> 
> 
> 
> 
> ------------------------------ LISTA SOUJAVA ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED] 
> -------------------------------------------------------------------------
> 
> 


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a