java里没有无符号整型这个类型,所以你这里会溢出,要么你就用long,如果硬要用int,那就会变成负的。

解决方案 »

  1.   

    如果将long强制转换int得话,会溢出
      

  2.   

    明明int会溢出,为什么还要转int呢?做没有需求的工作意义不大
      

  3.   

    会溢出,这样做没意义,直接用long类型吧。
      

  4.   

     int unsignedBB = new Long(aa).intValue();
      

  5.   

    我也碰到了这样的问题,求解啊,主要是和服务器交互,服务器用C++写的,有unsigned int ,而java没有unsigned类型
      

  6.   

    在没有溢出的情况下,首先将long强制类型转换为int。
    然后转换为无符号  i = i>=0?i:2^32-i;
    至于这里是不是2^32自己把二进制形式写一下看一下规律,里面存在一个循环。