Como posso fazer um if, dentro de um metodo acessador?

Boa tarde, como vão ?
Tenho essa duvida… vou codifica-la pra simplificar:

[code]public class Animal {

public static String raca1 = "viralata";
public static String raca2 = "pitbull";

private String nome;
private String raca;


public String getNome() {
	
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;	
}
public String getRaca() {
	if(raca.equals('V')){
		raca = raca1;
	}
	if (raca.equals('P')){
		raca = raca2;
	}
	return raca;
}
public void setRaca(String raca) {
	this.raca = raca;
}

}[/code]

o sistema iria me informar se a raça é V ou P
daí eu retornaria não V ou P mas sim “viralata” ou “pitbull”

faço isso no método acessador mesmo ?
pq pela teoria, eu acesso o objeto, daí analisava e o modificaria… estou certo ?

desde já agradeço a paciencia

Esse metodo vc faz dentro da classe msm. Do jeito que vc fez.

O metodo vc chama na main atraves do objeto da classe…

Só uma coisa:

public String getRaca() {   
        if(raca.equalsIgnoreCase("V"))   
            raca = raca1;   
           
        else           //se não for "V", só pode ser "P"   
            raca = raca2;   
           
        return raca;   
    }   

Assim vc pode digitar v que ele irá reconhecer…

:wink:

a Kassi ja te respondeu oq vc queria saber eu acho…

mas tipo , nao quero criticar mas tu podia simplificar teu código um pouco mais, (talvez eu não entendi qual seu objetivo com este cógido) mas se for só mostrar as duas raças da pra faze algo bem mais simples…

desculpa qualquer coisa :wink:
[]'s

Boa tarde.

Se eu entendi realmente o que você quer fazer é garantir que o seu método get só irá retornar a raca1 ou raca2.
Mas essa validação deve ser realizada no momento de definição do valor da raca “setRaca”, porque senão você está permitindo que o programa defina uma raça qualquer para o seu atributo, por exemplo “São Bernado”.

Caso você esteja trabalhando com a versão java 5 ou superior, utilize enum, assim você garante que apenas tipos válidos irão ser definidos para a o atributo raca.

[quote=KassiPretti]

public String getRaca() {   
        if(raca.equalsIgnoreCase("V"))   
            raca = raca1;   
           
        else           //se não for "V", só pode ser "P"   
            raca = raca2;   
           
        return raca;   
    }   

Assim vc pode digitar v que ele irá reconhecer…

:wink:[/quote]

Valeu KassiPretti
Era isso mesmo… bem… essa classe era pra simplificar a pergunta mesmo,
desculpe pelo if ( onde ja se viu ne) :? releva releva…

respondendo ao Gilberto, sim… era garantir o dado q acessei para retornar uma resposta sólida!

Obrigado a todos que responderam!