【发布时间】:2010-05-09 20:36:49
【问题描述】:
我得到一个“精度损失”错误,但应该没有,AFAIK。
这是一个实例变量:
byte move=0;
这发生在这个类的方法中:
this.move=(this.move<<4)|(byte)(Guy.moven.indexOf("left")&0xF);
move 是一个字节,move 还是一个字节,剩下的都被转换成一个字节。
我收到此错误:
[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] ^
我尝试了很多变体,但仍然遇到同样的错误。
我现在一无所知。
【问题讨论】:
-
如果move是128怎么办?当您将其移动 4 位时,将导致精度损失。 “byte