Duvida com String's [RESOLVIDO]

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/

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

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

Teste basico para vc entender

[code]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;
}

}[/code]

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 .

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!

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:

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

:smiley: