Je reçois une erreur de "perte de précision" alors qu'il n'y en aurait pas, AFAIK."perte de précision possible" Java devient fou ou il me manque quelque chose?
ceci est une variable d'instance:
byte move=0;
cela se produit dans une méthode de cette classe:
this.move=(this.move<<4)|(byte)(Guy.moven.indexOf("left")&0xF);
mouvement est un octet, mouvement est toujours un octet, et le reste est en cours de coulée à un octet.
Je reçois cette erreur:
[javac] /Users/looris/Sviluppo/dumdedum/client/src/net/looris/android/toutry/Guy.java:245: possible loss of precision
[javac] found : int
[javac] required: byte
[javac] this.move=(this.move<<4)|(byte)(Guy.moven.indexOf("left")&0xF);
[javac] ^
J'ai essayé beaucoup de variations, mais je reçois toujours la même erreur.
Je suis maintenant désemparé.
Que faire si le déplacement est de 128? Lorsque vous le déplacez de 4 bits, cela entraîne une perte de précision. Est-ce que "byte << N" est défini pour retourner un autre octet, ou un int? –