Ricardo,

Vc tem toda raz�o. S� quiz dizer que se a String fosse um Objeto mut�tvel 
haveria como modific�-la dentro de uma fun��o.

Ainda estou com a seguinte d�vida:

Em que C++ difere de Java nesse ponto ??? Vale lembrar que em C++ strings 
s�o arrays de char, o que acredito ser totalmente mut�vel. Da� a 
possibilidade de alterar a String dentro de uma fun��o atrav�s da 
refer�ncia. Estou certo ou errado?

------------------------------
Sergio Oliveira Jr.
Sun Certified Java Programmer
Desenvolvedor e Consultor Java
Empresa SmartJava
------------------------------



>From: Ricardo Santiago <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: Re: [java-list] Passando por referencias !!!!!!!!
>Date: Thu, 4 Oct 2001 03:51:16 -0700 (PDT)
>
>
>Acho que voce nao prestou BEM atencao no exemplo.
>Eu estava efetivamente mudando a REFERENCIA para outra
>String, e nao usando algum metodo que modifique seu
>estado interior. Que cairia na estoria das classes
>imutaveis
>
>Mudando para uma classe mut�vel, exemplo StringBuffer
>veja o m�todo:
>
>public void mudaStringBuffer(StringBuffer b) {
>    b.append("mais texto");
>}
>
>E claro que as mudan�as refletirao no parametro depois
>que o metodo terminar.
>
>mas se o metodo fosse
>
>public void mudaStringBuffer(StringBuffer b) {
>    b = new StringBuffer("mais texto");
>}
>
>As mudan�as nao refletiriam.
>
>Nao tem nada a ver a estoria de objeto mutavel e
>imutavel, o que interessa eh que as referencias sao
>passadas por valor. Os objetos sao passados por
>referencia.
>
>Eu estava tentando mostrar o obvio!
>
>Ricardo Munhoz Santiago
>
>--- "Sergio Oliveira Jr." <[EMAIL PROTECTED]> wrote:
> > Ricardo,
> >
> > O objeto string n�o vale porque � uma classe
> > IMUT�VEL. N�o h� como trocar o
> > valor da String sem criar outro objeto, ou seja, sem
> > criar outra referencia
> > !!!!!!
> >
> > Classes Imut�veis s�o muito interessantes porque s�o
> > THREAD-SAFE, evitando
> > condi��es de corridas e bugs intermitentes. Classes
> > mut�veis s�o perigosas e
> > podem introduzir brechas de seguran�a no seu c�digo,
> > principalmente se voc�
> > estiver escrevendo uma API para um outro programador
> > utilizar. (Algu�m a�
> > ainda tem a documenta��o do Java 1.0 ??? Acho que a
> > classe String no come�o
> > era Mut�vel e s� depois a Sun percebeu que isso n�o
> > era bom e transformou
> > ela em Imut�vel. Mas n�o tenho certeza disso.)
> >
> > Se eu tenho um objeto MUT�VEL como um Vetor por
> > exemplo, eu posso
> > modific�-lo dentro da fun��o sem problemas.
> >
> > N�o � muito dif�cil construir uma String Mut�vel e
> > a� eu poderia fazer um
> > Swap(s1, s2) pagando o pre�o de ter que instanciar
> > duas novas Strings. O
> > Sven foi muito feliz levantando essa bola do
> > Swap(&a,&b) e acabou me
> > deixando com a seguinte d�vida:
> >
> > Em C++ d� para fazer um Swap de Objetos Imut�veis
> > ??? Se d� gostaria de
> > entender como o C++ faz isso, isto �, o que acontece
> > por tr�s do pano.
> >
> > ------------------------------
> > Sergio Oliveira Jr.
> > Sun Certified Java Programmer
> > Desenvolvedor e Consultor Java
> > Empresa SmartJava
> > ------------------------------
> >
> >
> >
> > >From: Ricardo Santiago <[EMAIL PROTECTED]>
> > >Reply-To: [EMAIL PROTECTED]
> > >To: [EMAIL PROTECTED]
> > >Subject: RE: [java-list] Re: Artigo Java x C#
> > >Date: Wed, 3 Oct 2001 09:16:54 -0700 (PDT)
> > >
> > >
> > >Cara, vamos deixar claro:
> > >Tudo em java � passado por valor.
> > >MAS, voc� s� mant�m REFERENCIAS para objetos (ou
> > >pointeiros se achar melhor).
> > >Logo, todo objeto � passado por referencia visto
> > que a
> > >referencia � que � passada por valor!
> > >
> > >Isso n�o implica de forma alguma em perda de
> > >performance, simplesmente significa que qq v�riavel
> > >que voc� passar como param�tro, se for modificada
> > >dentro do m�todo invocado,n�o refletir� as mudan�as
> > >quando o m�todo retornar
> > >
> > >Como em:
> > >
> > >String s = "test";
> > >int i = 1;
> > >
> > >mudeOsValores(s, i);
> > >
> > >System.out.println(s + 1); // == "test1"
> > >
> > >Onde o metodo mudeOsValores contem o seguinte
> > codigo
> > >
> > >public void mudeOsValores(String s, int i) {
> > >   s = "outracoisa";
> > >   i = 2;
> > >}
> > >
> > >Ricardo Munhoz Santiago
> > >--- [EMAIL PROTECTED] wrote:
> > > > S�rgio,
> > > >
> > > > Eu gostaria de fazer uma pequena corre��o no seu
> > > > email.
> > > >
> > > > Java n�o possui passagem por refer�ncia. Somente
> > por
> > > > valor. Existe uma forma
> > > > de "simular" passagem de par�metros por
> > refer�ncia,
> > > > utilizando os objetos ou
> > > > tipos primitivos armazenados em um array, por
> > > > exemplo. Mas n�o existe
> > > > passagem por refer�ncia.
> > > >
> > > > Antes que o algu�m d� pulinhos de alegria, eu
> > > > pergunto: e qual � o problema?
> > > > Algu�m por favor, apresente um artigo
> > demonstrativo,
> > > > baseado em testes de
> > > > performance ou de algum requisito que mostre
> > qual �
> > > > o grandis�ssimo problema
> > > > de Java utilizar passagem por valor, e n�o por
> > > > refer�ncia? Mesmo que haja,
> > > > isso significa que Java � ruim?
> > > >
> > > > Abra�os,
> > > > Denard
> > > >
> > > > -----Original Message-----
> > > > From: Sergio Oliveira Jr.
> > > > [mailto:[EMAIL PROTECTED]]
> > > > Sent: ter�a-feira, 2 de outubro de 2001 22:56
> > > > To: [EMAIL PROTECTED]
> > > > Cc: [EMAIL PROTECTED];
> > > > [EMAIL PROTECTED]
> > > > Subject: [java-list] Re: Artigo Java x C#
> > > >
> > > > Mauro,
> > > >
> > > > N�o era a minha intens�o te tirar do s�rio. N�o
> > vejo
> > > > problema algum em me
> > > > engajar num papo com voc� face-to-face. S� estou
> > > > conversando com voc� via
> > > > email por ser mais conveniente, afinal a
> > tecnologia
> > > > est� a� para facilitar a
> > > >
> > > > nossa vida, certo?
> > > >
> > > > Vou continuar falando racionalmente, apesar de
> > n�o
> > > > ver nenhum problema em te
> > > >
> > > > encontrar para um papo mais descontra�do.
> > > >
> > > > Alguns absurdos que vc escreveu:
> > > >
> > > > - Java n�o possui todos os tipos derivados de
> > > > ancestral comum:
> > > >
> > > > Possui sim... Al�m de possuir tipos primitivos
> > mais
> > > > leves, que por sua vez
> > > > possuem suas classes equivalentes (Wrappers).
> > Todas
> > > > s�o derivadas da class
> > > > Object.
> > > >
> > > > - Java n�o possui Structs:
> > > >
> > > > Realmente n�o possui a palavra Structs, mas �
> > > > rid�culo simular um C Struct
> > > > com uma class ou inner class.
> > > >
> > > > - Java n�o pode passar parametros por
> > referencia:
> > > >
> > > > Todos os objetos Java s�o passados por
> > referencia.
> > > > Qualquer principiante em
> > > > Java precisa saber disso.
> > > >
> > > > - Java n�o possui Propriedades:
> > > >
> > > > J� ouviu falar em JavaBeans ??? Tb existe uma
> > classe
> > > > Properties que faz isso
> > > >
> > > > facilmente.
> > > >
> > > > - Java categoricamente n�o possui eventos nem
> > > > delegate:
> > > >
> > > > Toda a GUI do Java � orientada a eventos e a
> > > > listeners.
> > > > Java n�o possui ponteiros para fun��es, mas
> > possui
> > > > interfaces que podem
> > > > facilmente e de uma forma mais elegante e
> > poderosa
> > > > realizar callbacks.
> > > >
> > > > - Java n�o possui Atributos:
> > > >
> > > > N�o sei o que vc quiz dizer com isso, mas Java
> > > > possui uma API de Reflection
> > > > poderos�ssima.
> > > >
> > > > - Java n�o possui Ponteiros:
> > > >
> >
>=== message truncated ===
>
>
>__________________________________________________
>Do You Yahoo!?
>NEW from Yahoo! GeoCities - quick and easy web site hosting, just 
>$8.95/month.
>http://geocities.yahoo.com/ps/info1
>
>------------------------------ 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]
>-------------------------------------------------------------------------
>


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


------------------------------ 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