[java-list] Re:[java-list] Duvida StringBuffer

2003-03-06 Por tôpico Cláudio Sampaio - Patola
> 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

Re: [java-list] Duvida StringBuffer

2003-03-06 Por tôpico Savio Barros
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: > > > St

Re: [java-list] Duvida StringBuffer

2003-03-06 Por tôpico Savio Barros
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 Ba

Re: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Felipe Leme
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/StringBuffe

Re: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Thiago Gozzi Prado
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.equa

Re: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Carlos Santos
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

Re: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Clayton
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, Febru

Re: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Rogério Barbosa
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 te

Re: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Antonio Carlos Bortoletto
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) {

RE: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Celeguim, Luiz (Cadmus)
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:[

RE: [java-list] Duvida StringBuffer

2003-02-28 Por tôpico Daniel Shimura Goldszmit
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 ht