Amigos,

  O interessante aqui, � perceber que quando programamos:
        String s;
        s = "ale";
  Isto � o mesmo que
        s = new String( "ale" );

  � executado uma constru��o de uma nova String por isso o valor n�o �
mudado...

   Mas o int me pegou!!!! :):)

   Por que o int n�o muda?? N�o � um tipo primitivo?
Abra�os,
Alessandro.


----- Original Message -----
From: "Ricardo Santiago" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 04, 2001 7:42 AM
Subject: RE: [java-list] Re: Artigo Java x C# GEA2


>
> N�o estou querendo te chamar de louco, mas acho que
> voce deveria ter testado antes de dizer que "sempre
> funcionou" errado.
> Por voce mesmo nao testa?
>
> public class ProvaDaPassagemPorValor {
>
>   public static void main(String [] s) {
>     String s = "test";
>     int i = 1;
>     mudeOsValores(s, i);
>     System.out.println(s + i);
>
>   }
>
>   private static void mudeOsValores(String s, int i) {
>      s = "outroValor";
>      i = 2;
>   }
>
> }
>
> Ricardo Munhoz Santiago
>
> --- Wild Boar Wannabe <[EMAIL PROTECTED]>
> wrote:
> >
> >  Perae !!! Eh claro que refletira as mudancas !!!
> > Apos
> > ser chamado o metodo mudeOsValores() o inteiro e a
> > String mandados por parametro terao seus valores
> > mudados !!! Ou entao eu tou louco !!! Por que sempre
> > foi assim pra mim ...
> >
> >  --- Ricardo Santiago <[EMAIL PROTECTED]>
> > escreveu: >
> > > 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:
> > > >
> > > > Ainda bem! Referencia = Ponteiro com a excess�o
> > > que
> > > > n�o podemos fazer
> > > > opera��es aritim�ticas com referencias.
> > > > Todo mundo sabe que os ponteiros sempre foram a
> > > > maior fonte de bugs, falhas
> > > > de seguran�a, v�rus e dores de cabe�a para os
> > > > programadores C.
> > > >
> > > > - Java n�o possui Forech: loop para varrer
> > arrays
> > > e
> > > > cole��es
> > > >
> > > > D� uma olhada na API Collections. Vc vai ficar
> > > > impressionado com a
> > > > qualidade, efici�ncia e performance dessa API.
> > > >
> > > > - Java n�o possui Campos readonly.
> > > >
> > > > L�gico que possui. Basta utilizar final.
> > > >
> > > > - Java n�o possui Documenta��o integrada em XML.
> > > >
> > > > Javadoc serve exatamente para isso que vc sugere
> > > > como vantagem do C#.
> > > >
> > > > - Java n�o possui Controle sobre "estouro de
> > > faixa"
> > > > num�rica
> > > >
> > > > L�gico que possui. Pelo amor de Deus...
> > > >
> > > > - Java n�o possui Diretivas de compila��o
> > > > condicional (#ifdef etc)
> > > >
> > > > N�o precisa pois utilizando o final boolean
> > DEBUG
> > > =
> > > > false; o compilador
> > > > automaticamente otimiza o c�digo compilado
> >
> === 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]
> -------------------------------------------------------------------------
>
>


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