int idx = Integer.parseInt(str) - 0x16e360;
后面那个16进制的什么意思呢?一个整数减去后面那个又会有什么用处?为什么要这样写?有什么好处?多谢各位!

解决方案 »

  1.   

    前面把字符串转换成了一个int后面的0x...代表16进制的int数,得到的就是二者的差值.
      

  2.   

    楼主自己打印一下,应该就可以明白了,你给出的代码就是将字符转换成一个int,然后减去一个16进制数,
    0x16e360 = 1500000
      

  3.   

    顶三楼,就是这个意思,应该是把字符串转化成ASC码吧.LZ可以试试
      

  4.   


    这个问题不是数据类型的问题,而是int型数值进制的问题。甭管它是几进制的,最终计算机都会把它转换成0和1来执行。
    1500000和0x16e360除了我们肉眼看到的外表形式不同外,其实是一样的。计算机在执行的时候都会把它转换成2进制进行计算。
    不知道我的答案是否有问题,LX补充!
      

  5.   

    可能是计算某个偏移量(offset)吧