Amigos,
Porque posso fazer a seguinte situação.
byte b = 3;
b += 7;
Já a seguinte dá perda de precisão.
byte c = 3;
c = c + 7;
Onde esta a explicação para isso.
Obrigado.
atribuição
W
2 Respostas
você ganha um “Type mismatch: cannot convert from int to byte”
byte c = 3;
c = (byte) (c + 7);
Para dar certo você vai precisar de um cast!
Agora, o porque da forma “b += 7” da certo, eu não sei explicar…
R
Quando vc dá
byte b;
b += 7;
vc não recebe type mismatch pq 7 cabe numa variável do tipo byte.
Qdo vc dá
byte c = 7;
c = c + 3;
A segunda linha gerou uma expressão aritmética, que em Java, sempre é int, e conseqüentemente, não cabe num byte, e o compilador reclama o type mismatch.
Mas venhamos, vc não quer que o compilador seja tão inteligente a ponto de gerar rotinas para descobrir o valor da variável (algs. vezes, em tempo de execução), pra saber se vai dar type mismatch, não é verdade?
Criado 2 de janeiro de 2007
Ultima resposta 2 de jan. de 2007
Respostas 2
Participantes 3
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo