Quando vou setar um valor em uma propriedade que é do tipo Long preciso fazer a conversão de integer para long ?
Obrigado!
Quando vou setar um valor em uma propriedade que é do tipo Long preciso fazer a conversão de integer para long ?
Obrigado!
Que eu saiba não, se não houver perda de precisão no número, não tem porque não funcionar!
public class Teste{
public static void main(String [] args){
int x = 1;
recebeLong(x);
}
private static void recebeLong(long l){
System.out.println(l);
}
}
Quando o contêiner que for receber for maior você não precisa fazer a conversão (conversão implícita), mas quando é menor precisa (conversão explícita). Por exemplo:
byte b = 10;
int i = 10;
long l = 10;
i = b; // implícita
b = (byte) i; // explícita
l = b; // implícita
l = i; // implícita
i = (int) l; // explícita
è!!! tb to estranhando mas to tomando erro …
Quando pego uma variavel do tipo long e passo para o set da classe da certo, mas se eu passar um número por exemplo 1, da erro de tipo.
Qual erro especificamento você tá recebendo?
Só uma sugestão que as vezes funciona. Passe o valor seguido de uma letra “l”. Por exemplo, se quiser passar 127:
...
seuObjeto.set(127l);
...
Vê se isso resolve, ok?