galera me fala uma coisa…
isso aqui esta certo??? ou tem que ser feito de outra forma
int comissao = null;
na ide ele me fala que isso não pode… mai sporque???
vlwww
galera me fala uma coisa…
isso aqui esta certo??? ou tem que ser feito de outra forma
int comissao = null;
na ide ele me fala que isso não pode… mai sporque???
vlwww
cara isso não é uma OBJETO para receber null.
int é um tipo primitivo ou seja, não é um objeto e não pode ser nulo.
o valor default para um int no caso é sempre 0 e não nulo no caso das referencias a objetos.
caso voce queira fazer isso voce deve fazer
Integer x = null;
porém não tem muita lógica a não ser que você use essa referencia mais tarde.
float null ?
Isto é possível no .NET:
float? f = null;
O equivalente disso em Java é mais ou menos:
Float f = null;
humm sakei vo atribuir 0 mesmo para esses valores
Isto se deve a diferença entre objetos e primitivos
mas se comissão for um atributo de classe não precisa inicializar!
Isto é possível em C:
int comissao = NULL;
Isso porque NULL é um ponteiro, iniciado com 0.
No C++, não é possível, pq esse 0 tem o tipo void*.
E void* não são implicitamente convertíveis para int.
Agora… no Java, null é um valor especial, que só pode ser aplicado a classes que contém referências, ou seja, que seu tipo seja um objeto. Se você precisa de nulo, no lugar dos tipos primitivos int, float, double, etc use um wrapper de tipo primitivo (Integer, Double, Character, etc).
Integer comissao = null; //ok
Você poderá atribuir e ler valores normalmente a variável depois, graças ao autoboxing.
comissao = 10; //Ok, equivale a comissao = Integer.valueOf(10);
comissao = comissao + 1; //Ok, equivale a comissao = Integer.valueOf(comissao.intValue() + 1);
Outra alternativa é estipular um número na sua aplicação que represente sem valor. Por exemplo:
private static final const NULL = Integer.MIN_VALUE; //O menor valor inteiro representa nulo
int comissao = NULL; //Ok.