`
shangmw
  • 浏览: 22278 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JAVA代码疑惑

阅读更多
今天看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),这样的设计有什么好处
分享到:
评论
8 楼 抛出异常的爱 2007-05-16  
Sam1860 写道
不过这东西应该也只是写代码的人自己的习惯,不必见到java source里有点特殊东西就奉为天物,平时写代码还没必要这么高质量
平时就得写注释了否则真的是魔术数字
7 楼 Sam1860 2007-05-16  
不过这东西应该也只是写代码的人自己的习惯,不必见到java source里有点特殊东西就奉为天物,平时写代码还没必要这么高质量
6 楼 Sam1860 2007-05-16  
读代码的时候看定义就想到cache的范围是-128 - 127了
5 楼 抛出异常的爱 2007-05-16  
ddandyy 写道
喂喂
让LZ自己想想嘛

你真厚道。。。。
4 楼 shangmw 2007-05-16  
请问什么是魔术数字
3 楼 ddandyy 2007-05-15  
喂喂
让LZ自己想想嘛
2 楼 抛出异常的爱 2007-05-15  
多写点代码
好读,
PS:如果写256会产生误会,而且是魔术数字
1 楼 ddandyy 2007-05-15  
那他为什么 要写 + 127 + 1
而不写成 +128 呢

或者干脆就写256不是更方便

相关推荐

    java常见疑惑与陷阱

    ### Java常见疑惑与陷阱 #### 一、Java基础的常见陷阱 **1.1 不一样的数字的宽类型和窄类型** 在Java中,当我们处理不同的数值类型时,可能会遇到一些意料之外的行为。例如,当一个`byte`类型的数据与一个`int`...

    JAVA谜思.doc JAVA 常见疑惑及解析

    在学习Java过程中,我们经常会遇到一些看似简单但实则暗藏玄机的问题,这些问题被称为“JAVA谜思”。这里我们将深入探讨两个这样的谜题,它们涉及到Java中的数学运算和浮点数精度。 首先,我们来看“表达式谜题”。...

    java基础代码实例_1

    初学者在接触Java之初,往往会通过各种教程和实例代码来了解和掌握这门语言。 在这个过程中,“java基础代码实例_1”代表了一个具体的学习资源,它不仅仅是关于编程概念和理论的阐述,更是将理论知识与实际操作相...

    零点起飞学Java随书源代码

    【零点起飞学Java随书源代码】是一个学习资源,主要针对初学者,旨在帮助他们逐步掌握Java编程语言。这个压缩包包含了一系列的源代码示例,这些示例与《零点起飞学Java》这本书中的教学内容紧密相关,提供了一个实践...

    关于CoreJava同步的疑惑例子

    在这个“关于CoreJava同步的疑惑例子”中,我们将探讨Java中的同步机制,以及如何通过示例代码`Bank.java`, `TransferRunnable.java`, 和 `SynchBankTest.java`来理解这个概念。 1. **同步的必要性** 当多个线程...

    疯狂java课后答案及代码

    这份资料旨在帮助Java初学者深化理解,巩固课堂所学,解决课后练习中的疑惑,同时也适合有一定基础的开发者进行自我提升。 在学习Java的过程中,理论知识和实践操作是相辅相成的。"疯狂Java"系列教程以其深入浅出、...

    java源代码:3D图形菜单

    Java源代码实现的3D图形菜单是一种在Java编程中创建交互式、立体感强的用户界面的方法。在本文中,我们将深入探讨Java 3D图形菜单的实现原理、相关技术以及如何利用源代码进行学习和参考。 Java 3D(Java 3D API)...

    解决java中的疑惑

    在Java编程语言中,有很多细节和特性可能会...通过深入学习和实践,初学者可以逐渐克服这些疑惑,成为一名熟练的Java开发者。"JAVA解惑.pdf"这份文档很可能详细阐述了这些问题,建议仔细阅读,以便更好地理解Java编程。

    Java语言程序设计基础篇源代码

    这个"Java语言程序设计基础篇源代码"涵盖了初学者在学习Java编程时需要掌握的基本概念、语法和技巧。以下是对这些源代码文件的详细解读: 1. **基本语法**:Java是一种静态类型的面向对象的语言,它要求在编写程序...

    Java语言程序设计进阶篇答案与代码

    这份"Java语言程序设计进阶篇答案与代码"资源将帮助你巩固以上知识点,通过实际代码示例加深理解,解决练习题疑惑,提升编程能力。学习过程中,你可以对照代码理解讲解,结合实际运行结果,加深对Java语言特性的掌握...

    五子棋java代码

    这个是java五子棋代码,下载后放在包下面,完全可以运行,不过还需要插入背景图片。完全可以运行 大家都应该知道五子棋吧,当自己和电脑打的时候有没有对电脑怎么下棋有过疑惑?为什么有时候连电脑都打不过呢,哈哈...

    Thing in Java\Thinking in Java 3rd Edition英文版,书后答案及代码

    书后的答案和代码是学习过程中极其宝贵的资源,它们可以帮助读者验证自己的理解,解决在阅读过程中遇到的疑惑。 Java是一种多范式、面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。它的...

    java source code

    4. `src/main/resources`: 可能包含配置文件、图片、音频等非Java代码的资源文件。 在实际开发中,阅读和理解源代码能够帮助我们提升编程技巧,学习最佳实践,解决特定问题。例如,当我们遇到性能瓶颈时,可以查看`...

    JAVA 解惑(解析JAVA开发中的95个疑惑点)

    ### JAVA 解惑(解析JAVA开发中的95个疑惑点) #### 知识点一:取余操作符在处理负数时的行为 **标题**: 奇数性 **描述**: 本节通过一个示例解释了Java中取余操作符(`%`)在处理负数时的行为特点。 **详细解释*...

    使用eclipse/ndk-gdb对java/native code联合调试

    必很多网友都有这样的疑惑,我的程序中上层是java代码,下层使用c/c++ 写的,那到底要怎么调试呢? 我们首先想到的是ndk-gdb,ndk是google提供的用来native code开发的,ndk-gdb使用来调试native code的。 我们还...

    Java 线程间数据交换的疑惑

    这篇博客“Java线程间数据交换的疑惑”可能探讨了在并发编程中如何有效地共享和同步数据。`volatile`关键字是Java中用于实现线程间通信的一个重要工具,它在多线程环境下起着关键的作用。 首先,我们要理解`...

    基于Java的NetCDF文件解析

    基于Java语言的NetCDF文件解析,使用了netcdf4和opencsv两个库,最终将解析后的数据导出为CSV,附依赖文件、源代码及一个测试数据样例。 可结合本人的博客...

    Java解惑 中文版

    本书深入浅出地探讨了Java语言的核心概念、常见疑惑以及最佳实践,旨在使开发者能够编写出更稳定、更高效的代码。 Java解惑部分涵盖了诸多主题,包括但不限于: 1. **内存管理**:Java的垃圾回收机制是其一大特色...

    java参数传递

    该资源十分有效的解决了部分同学对于参数引用方面的疑惑,使得同学们在java编程上取得了优秀的成绩。

    最新版的Java-解惑

    《Java解惑》是一本专为Java初学者和进阶者设计的指南,旨在帮助读者解决在学习和...以上知识点只是《Java解惑》中的一部分,通过深入学习和实践,你可以逐步解开Java编程中的种种疑惑,成为一名更优秀的Java开发者。

Global site tag (gtag.js) - Google Analytics