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 retirando
> esse c�digo morto.
>
> - Java n�o possui Padroniza��o por algum organismo
> internacional
>
> ??? J� ouviu falar em Enterprise JavaBeans, Servlet,
> JSP, etc. Diversas
> empresas adotaram essas especifica��es,
> independentemente de imposi��es da
> Sun. Apenas a M�quina Virtual da microsoft n�o era
> compat�vel com todas as
> demais, da� a derrota da Microsoft na justi�a.
>
> - Java n�o Chama APIs do Windows e DLLs
>
> L�gico que chama via JNI.
>
> Como voce percebe pelos meus coment�rios acima. Vc
> definitivamente n�o � a
> pessoa certa para fazer essa compara��o entre C# e
> Java. A n�o ser que vc
> seja um homem de marketing e n�o da �rea de TI.
>
> ------------------------------
> Sergio Oliveira Jr.
> Sun Certified Java Programmer
> Desenvolvedor e Consultor Java
> Empresa SmartJava
> ------------------------------
>
>
>
> >From: "Mauro Sant'Anna" <[EMAIL PROTECTED]>
> >To: [EMAIL PROTECTED]
> >Subject: Re: Artigo Java x C#
> >Date: Wed, 03 Oct 2001 00:41:36 +0000
> >
> >Se voc� quizesse "alertar-me", teria fornecido
> exemplos concretos e fatos
> >ao inv�s de me chamar de ignorante/mentiroso.
> >
> >� incr�vel como as pessoas ficam "valentes" na
> frente de um teclado.
> >Imagine se voc� teria a coragem de me dizer cara a
> cara o que voc� me
> >escreveu, depois de uma compara��o C# X Java em um
> eventual semin�rio da
> >Microsoft - mais ou menos ou equivalente a um
> artigo no site da Microsoft.
> >
> >Mauro
> >
> >>From: "Sergio Oliveira Jr." <[EMAIL PROTECTED]>
> >>To: [EMAIL PROTECTED]
> >>CC: [EMAIL PROTECTED],
> [EMAIL PROTECTED]
> >>Subject: Re: Artigo Java x C#
> >>Date: Wed, 03 Oct 2001 00:35:27 +0000
> >>
> >>Mauro,
> >>
> >>Eu te dei duas op��es:
> >>
> >>1) Vc est� mentindo
> >>2) Vc n�o sabe nada sobre Java
> >>
> >>Se vc optou pela alternativa 1), n�o h� nada que
> eu
=== message truncated ===
__________________________________________________
Do You Yahoo!?
Listen to your Yahoo! Mail messages from any phone.
http://phone.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
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------