Duvida com String's [RESOLVIDO]

7 respostas
maxmustang

Galera to com a seguinte duvida:

class A{

public void go(){

String text;

boolean b = true;

}

}

A variavel local text nao precizaria ser iniciada, assim como o b/

7 Respostas

felipehand

Pelo que eu sei amigo, todas as variaveis do tipo primitivo precisam ser inicializadas.
Como String é uma variavel do tipo referencia, ela nao tem necessidade.
Corrijam me se estiver errado…

abs

B

Qualquer variável local precisa ser inicializada. Veja aqui.

edmarr

Teste basico para vc entender

public class TesteVariavel{
	private String Nome;
	private boolean Status;
	public static void main(String [] args){
		TesteVariavel  t = new TesteVariavel();
		System.out.println(t.getNome() + "  "  + " " +  t.getStatus());
	}
	public String getNome(){
		return Nome;
	}

	public boolean getStatus(){
		return Status;
	}
}

a saida ira ser Null e False .
Ou seja quando vc utiliza uma variável como membro ela pega o valor defaul da variável quando se instância o objeto , agora se fosse uma variável local vc teria que atribuir um valor senao iria acontecer uma erro no tempo de execução NullPointerExeception .

robinsonbsilva

jovens,

vale lembrar que toda e qualquer variável local deve ser “inicializada”…esse exemplo até compila pelo fato da variável não ser usada!

maxmustang

Blz…
fiquei com essa duvida em relação a String
porque respondi um Mock e marquei que falhava porque as variaveis locais(no caso a String pq a boolean tava iniciada) precizariam ser iniciadas e tal

dai errei… por isso fiquei na duvida

valeu

:smiley:

felipehand

Eu pensava que Strings eram uma exeção por ser variavel do tipo referencia.
Obrigado por deixar mais claro.

maxmustang

:smiley:

Criado 1 de setembro de 2009
Ultima resposta 1 de set. de 2009
Respostas 7
Participantes 5