用Java做字节操作非常不爽,全世界的byte都是unsigned char 就Java例外
带符号强制转换很容易出问题
狠狠心用short代替byte,内存又增长一倍。Android OOM的问题还少吗??
强烈郁闷中~

解决方案 »

  1.   

    别抱怨了,android很人道的给你提供了jni。
    不爽的话用c,啥都清静了
      

  2.   


    昨天的抱怨今天应验了
    读文件读的byte是负数 导致后面计算错误jni是一很烦的东西,C和Java数据类型互换很麻烦。编so也很麻烦,要写Makefile,要登到Linux的编译服务器编。而且C调试就只能打log。
    现在Java代码写的像C  C代码写的像Java  整个人都不正常了
      

  3.   

    java这东西 真的是很不人道···
      

  4.   

    由于无符号数运算有很多的细微特性,特别是有符号数到无符号数的隐式转换,会导致错误或漏洞。避免这类问题的办法就是不使用无符号数。实际上,除了C系列语言(C,C++,C#),支持无符号数的语言很少。PHP,Python,Java,JavaScript等语言都不支持无符号数。很明显,这些语言的设计者认为无符号数带来的麻烦要比好处多得多。
      

  5.   

    有时候是必须这样转,那不是惨了。java中的数据流都是字节型的,谁知道一个合理的解决方案。
      

  6.   

    为负的话加256应该就可以了吧。java有时候确实很2。。Android就更2最2的就是那个linux。这3者在一起就是无尽的麻烦,权限权限权限,永远是权限问题。我越来越怀疑,当事情能够复杂时,他们绝不做简单,尤其是第三个,java大多数时候还是比较方便的。还是喜欢C啊,微软,搞死Android解放我吧
      

  7.   

    额,好像不行,byte自己就限制了范围,算值得话要借助int了。