应该是类型转换问题,也就是说从一开始你要是使用byte,那么第一种方法是可行的,可能你是从中途把别的类型的要转换成byte,当然不行了,因为比如说,老虎一定是动物,但是动物不一定是老虎,所以你先看看你最前面的是不是定义的比byte大的类型了
写错了?p[i] = (byte) (p[i] + 1);你的意思是不是:p[i] = (byte) (px[i] + 1);