论坛首页 入门技术论坛

JAVA代码疑惑

浏览 2660 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-15  
今天看JAVA Integer类型的源代码时,对里面的一个设计不太明白,特来请教大家
private static class IntegerCache {
private IntegerCache(){}

static final Integer cache[] = new Integer[-(-128) + 127 + 1];

static {
    for(int i = 0; i < cache.length; i++)
cache[i] = new Integer(i - 128);
}
}
在其中的static final Integer cache[] = new Integer[-(-128) + 127 + 1]里面
为什么要设计成-(-128),这样的设计有什么好处
   发表时间:2007-05-15  
那他为什么 要写 + 127 + 1
而不写成 +128 呢

或者干脆就写256不是更方便
0 请登录后投票
   发表时间:2007-05-15  
多写点代码
好读,
PS:如果写256会产生误会,而且是魔术数字
0 请登录后投票
   发表时间:2007-05-15  
喂喂
让LZ自己想想嘛
0 请登录后投票
   发表时间:2007-05-16  
请问什么是魔术数字
0 请登录后投票
   发表时间:2007-05-16  
ddandyy 写道
喂喂
让LZ自己想想嘛

你真厚道。。。。
0 请登录后投票
   发表时间:2007-05-16  
读代码的时候看定义就想到cache的范围是-128 - 127了
0 请登录后投票
   发表时间:2007-05-16  
不过这东西应该也只是写代码的人自己的习惯,不必见到java source里有点特殊东西就奉为天物,平时写代码还没必要这么高质量
0 请登录后投票
   发表时间:2007-05-16  
Sam1860 写道
不过这东西应该也只是写代码的人自己的习惯,不必见到java source里有点特殊东西就奉为天物,平时写代码还没必要这么高质量
平时就得写注释了否则真的是魔术数字
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics