Bom dia meus amigos, alguém poderia me ajudar. Como faço para saber se uma variavel/atributo em java foi inicializada. Por exemplo, criei um atributo int numero;
existe algum comando ou algo para saber se este atributo tem algum conteúdo ou não, se ele foi inicializado e caso tenha sido qual o seu valor?
Desde Ja agradeço a atenção.
conteúdo de uma variavel/atributo
4 Respostas
O que você pode tentar fazer é forcar excessoes, ou entao usar uma ferramenta de log para monitorar o conteudo e o status de seu atributo, mais basicamente se voce usar o famoso comenado System.out.println("") em partes do seu programa você já conseguirá ver o valor da mesma, caso ela nao tenha sido inicializada aparece o valor null, no caso de um tipo primitivo é diferente, então aconselho você a ler mais sobre isso.
Ou também você pode usar o assert que é muito util para saber o status de terminadas variaveis em determinado momento do seu código.(Tem bastante site falando sobre assert do java).
muito obrigado pela atenção, vou testar. muito grato. uma vez ouvi falar que o integer poderia retornar null, caso isto seja verdade, eu poderia fazer uma condicional para verificar se existe algum conteúdo ou não. Mas não sei sei funciona em JAVA
Vamos por partes:
[list]
:arrow: no caso de variáveis de instâncias (variáveis de uma classe) elas sempre são incializadas implicitamente com 0, 0.0, false ou null, dependendo do seu tipo, a menos que você as inicializa explicitamente.
:arrow: no caso das variáveis locais (variáveis declaradas em um método), elas devem ser inicializadas explicitamente, sempre, caso contrário, ao tentar obter o seu valor em uma expressão seguinte causará um erro em tempo de compilação. Obs: a inicialização não precisa ser feita na declaração, mas é altamente recomendável que você o faça;
[/list]
Assim, se você está usando uma variável de instância, de alguma maneira ela foi inicializada. E no caso da variável local, se o seu código está compilando, é porque ela foi inicializada.
Parte dois, se você quer saber se uma variável possui um determinado valor, um simples if resolve!
class MyClass{
int algumaVar; //inicializada implicitamente com 0
void metodo(){
int a = 15; //o recomendado é inicializar a explicitamente
//teste para o valor de uma variável
if( algumaVar == 0 ){
System.out.println( "O valor de algumaVar é 0" );
}
//se eu quero obter o valor da variável, basta colocá-la
//onde eu preciso do valor
System.out.println(a);
int b = 2 * a + 15;
}
E ainda tem a nossa consagrada opção “Debug” : D…não podemos esquecer XD.