Ir para o conteúdo
nbento.neves

Alterar String dentro de Metodos

Mensagens Recomendadas

nbento.neves    0
nbento.neves

Viva malta,

Estou com uma dúvida:

Como é que eu posso alterar uma string dentro de um método? Eu sei que para fazer isto com variáveis do tipo inteiro por exemplo posso declara-las como objectos correcto?

Ex:

Integer a = new Integer(0); -> ao declarar desta forma no método se alterar o valor de "a" o valor é alterado.

Agora a minha duvida é se é possível fazer isto com o tipo String, o problema e que me esta a deixar confundir é como é que vou declarar uma String como objecto se o java já a identifica como tal. Correcto?

Alguém sabe uma solução?

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Baderous    31
Baderous

Tanto variáveis de tipos primitivos como de tipos referenciados (classes) podem ser alteradas dentro de um método, não percebo qual a tua dúvida. Ainda pensei que fosse relativo ao facto de as strings em Java serem imutáveis.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nbento.neves    0
nbento.neves

Com um exemplo entendes melhor  :confused: eu explico-me muito mal.

Imagina o seguinte:

Main{

String a = "Nuno Neves";

Print("Antes de chamar Metodo conteudo da var a:"+a); //Output "Nuno Neves"

String palavra = AlterarValor(a);

Print("Depois de chamar Metodo conteudo da var a:"+a); //Output "Nuno Filipe Neves"

Print(palavra) //Output "Palavra1";

}

Metodo Static String AlterarValor(String a){

a = "Nuno Filipe Neves";

b = "Palavra1";

return b;

}

---------------------

Eu quero que a var "a" seja seja inicializada com qualquer coisa e que dentro do método altere esse conteúdo e seja "returnado" ao Main.

Notas:

-Poderia usar o return mas o método que tenho já faz return de uma String...por isso é que me dava jeito poder fazer o que te mostrei no exemplo.

Mais uma vez Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

Podes sempre enviar um objecto com a String lá dentro:

public class StringContainer { public String string; }

StringContainer x = new StringContainer();
x.string = a;

String palavra = AlterarValor(x);
a = x.string;

String AlterarValor(StringContainer x) {
    x.string = "Nuno Filipe Neves";
    return "Palavra1";
}

Mas, o mais provável é quereres passas um StringBuilder ou um StringBuffer.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade