package chape8;
/**
* 8--49
* 基本数据类型优于装箱基本类型
* java1.5发行中了自动装箱和拆箱;但是这些特性没有完全抹去基本数据类型和引用数据类型的区别
* 基本数据类型和装箱数据类型的区别:
* 第一:基本类型只有值。而装箱基本类型则具有与他们的值不同的同一性;
* 第二:基本类型只有功能完备的值;而每个装箱基本类型处理它对应的基本类型的所有功能外,还有非功能值 null
* 第三:基本类型比装箱类型节省时间和空间;
*
* @author lee
*
*/
public class Chape49 {
static Integer i ;
/**
* 我们看一个方法;
*/
public static int compare (Integer one , Integer two)
{
return one<two?-1:(one==two?0:1);
}
public static void main(String[] args) {
System.out.println(compare(new Integer(42),new Integer(42)));
/**
* 调用这个方法:发现结果 为1
* 那就是说one > two
* 怎么可能?
* 其实我们都明白 两个integer比较 是一个错误 解决方法就是转换为int类型
* 结论一:在对装箱类型运行==操作几乎总是错误的
*
*/
/**
* 再看一个 这里故意将i的声明放在了main方法外部;
* 你认为运行结果是什么?输出wrong?
* 也许你看出来了 他会报空指针异常
*
*/
if(i==8)
{
System.out.println("worng");
}
/**
* 其实这个谁都能看出来
* 结论2:当在一个操作中混用基本类型和装箱基本类型时。装箱基本类型就会自动拆箱;
* 解决方法就是用int来比较
*/
/**
* 总之:当可以选择的时候,基本类型要优先于装箱类型,基本类型更加简单和快速;如果必须使用装箱的基本类型,要小心;自动装箱
* 减少了使用装箱的繁琐 但也带来了风险;当程序使用==操作符比较两个装箱基本类型的时候,几乎肯定不是你要的结果;
* 当涉及到混合类型计算时,他会执行拆箱。当拆箱时 会有空指针异常;最后 当程序装箱了基本类型时,会导致高开销和不必要的对象
* 创建;
*/
}
}
分享到:
相关推荐
"Effective Java读书笔记" Effective Java是一本关于Java编程语言的经典书籍,本笔记主要总结了Java语言的发展历程、静态工厂方法的应用、构造器模式的使用等重要知识点。 一、Java语言的发展历程 Java语言的发展...
如果这些假设是错误的,生成的程序可能缺少足够的同步(详见 78 条)或过度的同步(详见 79 条)。无条件线程安全 — 该类的实例是可变的,但是该类具有足够的内
Effective Objective-C是本学习Objective-C的好书,没有见pdf版,亚马逊上的这儿本书的价格不菲。让我们来看看书里的内容和完整的学习笔记吧。
以上只是《Effective Java》一书的部分主题,全书涵盖了大量Java编程的最佳实践和深度解析,是每个Java开发者案头必备的参考书。通过理解和应用这些知识点,开发者能够提升代码质量,降低维护成本,同时也能更好地...
effective-java-3rd-chinese前51条:文章翻译来源地址:about this repository本来以为只是个直接搬运的活,实际上不是。主要工作如下:改进排版,原有博文排版不太优秀,根据markdown 排版指北重新排版。内容修改,...
标题《effective-java.pdf》表明本文档是关于Java编程语言的实践指南,而描述说明了这是一份根据...文档《effective-java.pdf》详细地探讨了静态工厂方法在设计和实现上的优势,强调了其在现代Java编程实践中的重要性。
effective-java-3rd-chinese 前51条:文章翻译来源地址: 现在全部章节已经更新完成 :提供更好的在线阅读版本 : 提供更快的访问速度 写在最前面 本 repo 从来没有授权过任何公众号进行发布转载,所有公众号的引流...
《Effective Java》是Java开发领域的经典著作,作者Joshua Bloch深入浅出地阐述了编写高效、健壮的Java代码的技巧和最佳实践。以下是对该书部分内容的详细解释: 1. **产生和销毁对象** - Item1:静态工厂方法相比...
《Effective Java》是Java...以上仅是《Effective Java》一书中部分核心知识点的概述,实际的读书笔记中会更详细地解释这些概念,并给出具体的示例代码。通过深入学习和实践,开发者可以极大地提升其Java编程的水平。
配套代码`effective-java-examples-master`是书中示例代码的集合,用于直观地展示书中的各种编程技巧和原则。 在`effective-java-examples-master`中,你可以找到以下知识点: 1. **枚举(Enums)**: 书中强调了...
"Effective Objective-C 2.0&Obj-C高级编程"这个压缩包文件包含了关于这个语言的深入学习资料,旨在帮助开发者提升他们的编程技能和理解。下面我们将详细探讨其中涉及的一些关键知识点。 1. **内存管理**: - ...
2. **协议(Protocols)**:Objective-C的协议机制类似于Java和C#的接口,允许定义一组方法签名而不必强制实现。书中会探讨如何利用协议进行多继承模拟,以及在设计模式中使用协议的重要性。 3. **类别(Categories...
《Effective Objective-C 2.0》是一本由Mattt Thompson编著的面向Objective-C程序员的指南书籍,旨在帮助开发者写出更高效、更可靠、更具可维护性的代码。这本书深入探讨了Objective-C编程语言的最佳实践和设计模式...
《effective objective-c 2.0:编写高质量ios与os x代码的52个有效方法》是世界级c++开发大师scott meyers亲自担当顾问编辑的“effective software development series”系列丛书中的新作,amazon全五星评价。...
Effective Objective-C 2.0 epub版, 排班较好, 非常适合在kindle上阅读. 教我们如何编写高质量的iOS代码.
以上就是从《Effective Robotics Programming with ROS》的学习笔记中提取的关键知识点和操作步骤,涵盖了ROS环境的配置以及TurtleBot的基础操作。这些基础知识对于初学者来说非常重要,能够帮助他们快速上手并深入...
java逻辑思维笔试题Effective Java - 第三版笔记 章节索引 02 - 创建和销毁对象 03 - 所有对象通用的方法 04 - 类和接口 05 - 泛型 06 - 枚举和注释 07 - Lambda 和流 08 - 方法 09 - 通用编程 10 - 例外 11 - 并发 ...
《Effective Java》是Java编程领域的一本经典著作,由Joshua Bloch撰写,它提供了许多最佳实践和设计原则,帮助开发者写出更高效、更可维护的代码。第三版延续了这一传统,对Java语言的新特性进行了更新,并给出了...