A resposta para sua pergunta depende do seu objetivo...
 
Se seu objetivo � saber se essas duas Strings s�o o mesmo objeto, ent�o a compara��o com == � o que voc� precisa.
 
Se seu objetivo � saber se essas duas Strings cont�m a mesma cadeia de caracteres, independente de ser o mesmo objeto, ent�o voc� deve fazer a compara��o usando equals.
 
Quanto a Substring com um caracter, voc� precisa especificar melhor o que voc� quer fazer; assumnindo que voc� est� se referindo ao m�todo substring da classe String, que retorna outro objeto da classe String, e a um objeto da Classe Character, ent�o a compara��o com == nunca vai retornar true, afinal um objeto da classe String nunca vai ser o mesmo objeto da classe Character. Logo voc� vai ter que usar outro m�todo. Sugiro para voc� tr�s possibilidades:
1) converter a substring para um char (tipo nativo) utilizando charAt(int i) (a� voc� tem que indicar qual � a posi��o na String do caracter que voc� quer comparar); converter para um char o seu objeto Character, usando charValue(); e comparar os dois chars usando == (note que em qualquer compara��o nativa - ==,!=... - os tipos nativos s�o comparados por valor,  enquanto que os objetos s�o comparados por refer�ncia);
2)converter o Character para uma String com o m�todo toString(), e compar�-los usando equals(); Isso s� retornar� verdadeiro se o substring tiver somente um caracter na sua cadeia de caracteres.
3)converter a substring para um char[] com toCharArray(), e comparar o char que voc� quer da substring com o char retornado do Character.charValue(), usando ==.
Se seu caso n�o for o que deduzi, desculpe... Mas, provavelmente, a solu��o � parecida com essa.
 
Ter uma c�pia da documenta��o da API, e "fu�ar" bastante nela, pode te ajudar melhores solu��es.
 
Boa Sorte,
 
Siqueira.
 
----- Original Message -----
Sent: Thursday, July 20, 2000 8:01 AM
Subject: [SouJava-J] Teste de Igualdade entre Strings

Pessoal,

gostaria de saber se � correto comparar duas strings via operador de
igualdade == ou devo usar o metodo equals da classe String ? Devo fazer o
mesmo quando comparo uma substring com um caracter ?

Denilson

    --------------------------- 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]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    [regras da lista: http://www.soujava.org.br/regras.htm]
    ---------------------------------------------------------------------

Responder a