[java-list] Re:[java-list] Duvida StringBuffer
> Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando > dois Objetos identicos. > > public class testestring > { >public static void main(String args[]) >{ > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > if (sb.equals(s1)) > { >System.out.println("OK"); > } >} > } Se você olhar no javadoc de Stringbuffer (http://java.sun.com/j2se/1.4.1/docs/api/java/lang/StringBuffer.html), vai ver que ele não faz override do método equals(), ou seja, utiliza o mesmo método equals() de Object, que não serve para comparar conteúdo. Por outro lado, se você olhar o javadoc da classe String (http://java.sun.com/j2se/1.4.1/docs/api/java/lang/String.html) você verá que ela implementa o método equals(), e serve para isso. Então a comparação correta pra você fazer no seu programa seria: if (sb.toString().equals(s1.toString())) Eu concordo, no entanto, que isto não é muito intuitivo e que a classe StringBuffer deveria também implementar o método equals(). []s, Patola (Cláudio Sampaio) -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Ah, esqueci de explicar o pq... Na classe StringBuffer, vc não tem o método equals();. Ele é herdado de Object, e em Object o equals() testa o objeto, o endereço de memória (como usar o = = para testar objetos), então se vc chama StringBuffer.equals(Obj), ele vai testar o objeto e não o valor do mesmo. Já em outras classes como String e Integer, tem o método equals() que sobrepõe o equals() de Object, e o equals() de String e Integer testam o valor do objeto... talvez eu tenha complicado um pouco na explicação, mas é só assumir o seguinte: na classe java.lang.StringBuffer não há o método equals(). Ele é herdado de Object. []´s Sávio - Original Message - From: "Savio Barros" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, February 28, 2003 4:01 PM Subject: Re: [java-list] Duvida StringBuffer > Olá, > Faça isso: > > > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > > if (sb.toString().equals(s1.toString())){ >System.out.println("OK"); > } > > Transforme o StringBuffer em String. > > []´s > > Sávio Barros > > - Original Message - > From: "Marcio Adriano Batista Leal" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, February 26, 2003 10:20 PM > Subject: [java-list] Duvida StringBuffer > > > > > > Gostaria de Saber porque não apresenta a mensagem OK, pois estou > comparando > > dois Objetos identicos. > > > > public class testestring > > { > >public static void main(String args[]) > >{ > > StringBuffer sb = new StringBuffer("abc"); > > StringBuffer s1 = new StringBuffer("abc"); > > if (sb.equals(s1)) > > { > >System.out.println("OK"); > > } > >} > > > > > > } > > > > > > > > > > _ > > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > > > > -- 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 > > historico: http://www.mail-archive.com/java-list%40soujava.org.br > > 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Olá, Faça isso: StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.toString().equals(s1.toString())){ System.out.println("OK"); } Transforme o StringBuffer em String. []´s Sávio Barros - Original Message - From: "Marcio Adriano Batista Leal" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 26, 2003 10:20 PM Subject: [java-list] Duvida StringBuffer > > Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando > dois Objetos identicos. > > public class testestring > { >public static void main(String args[]) >{ > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > if (sb.equals(s1)) > { >System.out.println("OK"); > } >} > > > } > > > > > _ > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > -- 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 > historico: http://www.mail-archive.com/java-list%40soujava.org.br > 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Márcio, Os 2 objetos não são identicos, são 2 objetos StringBuffes diferentes. Você está assumindo que a chamada do equals retorne true porque ambos buffers contém a mesma String. Porém, tal compartamento não está especificado na API (http://java.sun.com/j2se/1.4/docs/api/java/lang/StringBuffer.html). Mais precisamente, o método equals da classe StringBuffer não está documentado, portanto provavelmente tal classe não redefine esse método). Já a classe String (http://java.sun.com/j2se/1.4/docs/api/java/lang/StringBuffer.html) documenta o uso de equals: Compares this string to the specified object. The result is |true| if and only if the argument is not |null| and is a |String| object that represents the same sequence of characters as this object. Portanto, para o seu código retornar true, o certo seria: if (sb.toString().equals(s1.toString())) Felipe Marcio Adriano Batista Leal wrote: Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Caro Marcio, É complicado afirmar que um objeto é idêntico à outro. Isso é muito relativo, ou seja, depende da classe a que estes objetos pertencem. Por exemplo: StringBuffer x = new StringBuffer("abc"); StringBuffer y = new StringBuffer("abc"); StringBuffer z; z = x; System.out.println(x.equals(y)); // falso System.out.println(x.equals(z)); // verdadeiro O método equals da classe StringBuffer (herdado da classe Object) só irá retornar verdadeiro se o argumento for, de fato, a mesma instância. Diferente da classe String. Por exemplo: String x = new String("abc"); String y = new String("abc"); String z; z = x; System.out.println(x.equals(y)); // verdadeiro System.out.println(x.equals(z)); // verdadeiro Para obter o resultado que você quer, poderia ser feito algo parecido com: StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.toString().equals(s1.toString())) // linha modificada { System.out.println("OK"); } Antes de utilizar o método equals de uma classe, sempre dê uma olhadinha na documentação. Espero ter ajudado. []s -- Thiago - Original Message - From: "Marcio Adriano Batista Leal" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 26, 2003 10:20 PM Subject: [java-list] Duvida StringBuffer > > Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando > dois Objetos identicos. > > public class testestring > { >public static void main(String args[]) >{ > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > if (sb.equals(s1)) > { >System.out.println("OK"); > } >} > > > } > > > > > _ > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > -- 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 > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > - ___ Busca Yahoo! O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra. http://br.busca.yahoo.com/ -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] Duvida StringBuffer
O método equals do StringBuffer retorna verdadeiro somente se vc. está comparando duas referências do mesmo objeto. Ex: { StringBuffer sb1 = new StringBuffer("a"); StringBuffer sb2 = new StringBuffer("a"); StringBuffer sb3 = s1; System.out.println(sb1.equals(sb3)); // imprime true System.out.println(sb1.equals(sb2)); // imprime false System.out.println(sb1.toString().contentEquals(sb2)); // imprime true } Você pode estar se perguntando: Mas por que o método equals do StringBuffer não é igual ao método equals do String? Na verdade, o StringBuffer implementa o método equals de modo correto. Quem tem uma implementação diferente mesmo é a classe String, que faz uma comparação caracter a caracter ao invés de checar a o tipo e referência. Esta checagem padrão está presente em qualquer objeto, uma vez que o método equals é implementado na classe Object. Apenas algumas classes (como a String) é que sobrescrevem este método para alguma checagem específica. Porém, como você pode observar na última linha do meu código, é possível fazer esta comparação que vc. deseja convertendo um dos objetos StringBuffer para String (através do método toString()). Uma vez que um deles é do tipo String, você pode utilizar o método contentEquals(), que compara um objeto do tipo String a um StringBuffer. Com isso vc. pode usar os outros métodos da classe String também. Para fazer uma comparação case-insensitive, basta proceder da seguinte forma: ... StringBuffer sb4 = new StringBuffer("A"); System.out.println(sb1.toString().equalsIgnoreCase(sb4.toString())); // imprime true ... {}'s David Rissato Cruz -Mensagem original- De: Marcio Adriano Batista Leal [mailto:[EMAIL PROTECTED] Enviada em: quarta-feira, 26 de fevereiro de 2003 22:21 Para: [EMAIL PROTECTED] Assunto: [java-list] Duvida StringBuffer Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
O método equals é um objeto da classe Object que compara dois objetos e inclusive os seus Hash codes. Cada vez que criamos um objeto, este objeto recebe um número para identificação q é o seu hash code. Portanto cada instância desta classe possui o seu próprio Hashcode. Portanto use o método equals para saber se os seus objetos são o mesmo objeto. Aqui está o texto que está no tutorial Java da sun: The equals and hashCode Methods You must override the equals and hashCode methods together. The equals method compares two objects for equality and returns true if they are equal. The equals method provided in the Object class uses the identity function to determine if objects are equal (if the objects compared are the exact same object the method returns true). However, for some classes, two distinct objects of that type might be considered equal if they contain the same information. Consider this code that tests two Integers, one and anotherOne, for equality: Integer one = new Integer(1), anotherOne = new Integer(1); if (one.equals(anotherOne)) System.out.println("objects are equal"); This program displays objects are equal even though one and anotherOne reference two distinct objects. They are considered equal because the objects compared contain the same integer value. Your classes should only override the equals method if the identity function is not appropriate for your class. If you override equals, then override hashCode as well. The value returned by hashCode is an int that maps an object into a bucket in a hash table. An object must always produce the same hash code. However, objects can share hash codes (they aren't necessarily unique). Writing a "correct" hashing function is easy--always return the same hash code for the same object. Writing an "efficient" hashing function, one that provides a sufficient distribution of objects over the buckets, is difficult and is out of the scope of the tutorial. Carlos Santos - Original Message - From: "Marcio Adriano Batista Leal" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 26, 2003 10:20 PM Subject: [java-list] Duvida StringBuffer > > Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando > dois Objetos identicos. > > public class testestring > { >public static void main(String args[]) >{ > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > if (sb.equals(s1)) > { >System.out.println("OK"); > } >} > > > } > > > > > _ > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > -- 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 > historico: http://www.mail-archive.com/java-list%40soujava.org.br > 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Voce nao esta comparando os literais "abc". O comando equals compara os objetos, ou melhor, os ponteiros de memoria de dois objetos, e que sem duvida, sao diferentes. - Original Message - From: "Marcio Adriano Batista Leal" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 26, 2003 10:20 PM Subject: [java-list] Duvida StringBuffer > > Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando > dois Objetos identicos. > > public class testestring > { >public static void main(String args[]) >{ > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > if (sb.equals(s1)) > { >System.out.println("OK"); > } >} > > > } > > > > > _ > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > -- 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 > historico: http://www.mail-archive.com/java-list%40soujava.org.br > 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] Duvida StringBuffer
Que tal ! public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.toString().equals( s1.toString() ) ) { System.out.println("OK"); } } } -Mensagem original- De: Marcio Adriano Batista Leal [mailto:[EMAIL PROTECTED] Enviada em: sexta-feira, 28 de fevereiro de 2003 13:56 Para: [EMAIL PROTECTED] Assunto: [java-list] Duvida StringBuffer Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Apesar dos objetos terem o mesmo conteúdo ("abc"), eles apontam para diferentes endereços na memória. Quando o construtor da classe é chamado, uma de suas funções é essa : alocar memória para um novo objeto. Foi o que aconteceu no seu exemplo, vc chamou o construtor para os dois objetos. Para testar, faça o seu if assim : if (!sb.equals(s1)) vai ver que dessa forma vai imprimir o "ok" , pois os objetos são diferentes. Até mais. Marcio Adriano Batista Leal wrote: Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RES: [java-list] Duvida StringBuffer
A classe StringBuffer não sobrescreve o método equals() ao herdar de Object. Assim o método retorna true somente quando se compara referencias para o mesmo objeto. Se duas instâncias distintas encapsulam o mesmo strings iguais , equals() irá retornar false. -Mensagem original- De: Marcio Adriano Batista Leal [mailto:[EMAIL PROTECTED] Enviada em: quarta-feira, 26 de fevereiro de 2003 22:21 Para: [EMAIL PROTECTED] Assunto: [java-list] Duvida StringBuffer Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Duvida StringBuffer
Olá Marcio A classe StringBuffer herda o metodo equals da classe Object. . .. na classe Object, o metodo equals compara apenas referencia: se sb e s1 estão referenciando o mesmo objeto. . . mas como são objetos distintos, entaum não rola. .. da uma olhada: public boolean equals(Object obj) { return (this == obj); } Não sei se é legal fazer isso. . . mas vc pode usar o metodo equals da classe String para comparar. . .assim: public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if ((sb.toString()).equals(s1.toString())) { System.out.println("OK"); } } } Espero ter ajudado. .. . AntonioCarlos - Original Message - From: "Marcio Adriano Batista Leal" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, February 26, 2003 10:20 PM Subject: [java-list] Duvida StringBuffer > > Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando > dois Objetos identicos. > > public class testestring > { >public static void main(String args[]) >{ > StringBuffer sb = new StringBuffer("abc"); > StringBuffer s1 = new StringBuffer("abc"); > if (sb.equals(s1)) > { >System.out.println("OK"); > } >} > > > } > > > > > _ > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > -- 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 > historico: http://www.mail-archive.com/java-list%40soujava.org.br > 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RE: [java-list] Duvida StringBuffer
não apresenta a mensagem Ok por engano (seu). aqui if (sb.equals(s1)) vc está comparando dois objetos e realmente distintos. para que a mensagem Ok seje mostrada altere o código para if (sb.toString().equals(s1.toString())) -Original Message- From: Marcio Adriano Batista Leal [mailto:[EMAIL PROTECTED] Sent: quarta-feira, 26 de fevereiro de 2003 22:21 To: [EMAIL PROTECTED] Subject: [java-list] Duvida StringBuffer Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
RE: [java-list] Duvida StringBuffer
Ai MABL, A API para StringBuffer não realiza overriden do metodo equals, sendo assim este método é herdado de Object, o método equals de Object retorna true se somente se sb==s1, para comprovar isso veja os links do javadoc. http://java.sun.com/j2se/1.4.1/docs/api/java/lang/StringBuffer.html http://java.sun.com/j2se/1.4.1/docs/api/java/lang/Object.html#equals(java.la ng.Object) Blz. Daniel Shimura Goldszmit -Original Message- From: Marcio Adriano Batista Leal [mailto:[EMAIL PROTECTED] Sent: quarta-feira, 26 de fevereiro de 2003 22:21 To: [EMAIL PROTECTED] Subject: [java-list] Duvida StringBuffer Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Duvida StringBuffer
Gostaria de Saber porque não apresenta a mensagem OK, pois estou comparando dois Objetos identicos. public class testestring { public static void main(String args[]) { StringBuffer sb = new StringBuffer("abc"); StringBuffer s1 = new StringBuffer("abc"); if (sb.equals(s1)) { System.out.println("OK"); } } } _ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- 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 historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -