0 0

java自动拆箱和装箱问题,相等判断问题5

public static void main(String[] args) {
		Integer a = 1;
		Integer b = 2;
		Integer c = 3;
		Integer d = 3;
		Integer e = 321;
		Integer f = 321;
		int ee = 321;
		int ff = 321;
		Long g = 3L;
		System.out.println(c==d);
		System.out.println(e==f);
		System.out.println(ee==ff);
		System.out.println(c==(a+b));
		System.out.println(c.equals(a+b));
		System.out.println(g==(a+b));
		System.out.println(g.equals(a+b));
	}

结果:
true
false
true
true
true
true
false

 为什么会产生这样的结果呢,c、d相等,e、f不等这是为什么

1个答案 按时间排序 按投票排序

0 0

采纳的答案

去看看源码就知道了,Java会缓存-128到127的Integer实例,那些是不会产生新的instance的。

2014年12月16日 14:21

相关推荐

    JAVA装箱拆箱(很详细、易于理解)

    Java中的装箱和拆箱是面向对象编程中的一个重要概念,主要涉及到Java的自动类型转换机制。装箱是指将基本数据类型(如int、char、boolean等)转换为对应的包装器类对象,而拆箱则是相反的过程,即把包装器类的对象...

    《深入理解java虚拟机》自动装箱拆箱实例.doc

    在Java中,自动装箱是指将基本数据类型自动转换为对应的包装类对象的过程,而自动拆箱则是指将包装类对象自动转换为基本数据类型的逆过程。这一特性自Java 5起引入,极大地简化了开发者的编程工作。 #### 基本数据...

    Java 装箱与拆箱详解及实例代码

    Java中的装箱与拆箱是面向对象编程中一个重要的概念,尤其在处理基本类型与对象类型之间的转换时显得尤为重要。...在编写代码时,根据具体需求选择合适的数据类型,合理利用装箱与拆箱,可以使Java程序更加优雅和高效。

    Java拆箱与装箱实例详解

    Java中的拆箱(Unboxing)和装箱(Boxing)是自动类型转换的过程,涉及到基本类型(Primitive Types)与它们对应的引用类型(Wrapper Classes)之间的转换。这些转换在编程时可以提高代码的简洁性,但在处理大量数据...

    浅谈Java自动装箱与拆箱及其陷阱

    总的来说,Java的自动装箱和拆箱提供了便利,但也需要开发者理解其背后的机制,避免因误用而引入的潜在问题。在编写代码时,应谨慎处理对象的比较和算术运算,特别是在涉及包装类的情况下。理解这些陷阱可以帮助我们...

    Java中的装箱和拆箱深入理解

    在Java SE 5及以后的版本中,为了方便开发者使用,引入了自动装箱和拆箱的功能。 一、什么是装箱和拆箱? 装箱(Boxing)是将Java的基本数据类型转换为其对应的包装器类型的自动过程。例如,将int类型转换为...

    JAVA中实现“相等”比较的深入分析.pdf

    JDK 1.5版本后,Java支持自动装箱和拆箱,简化了程序中对这两种操作的编码工作。 Java中的对象“相等”比较主要通过两种方式实现:使用“==”运算符和equals()方法。其中,“==”运算符比较的是两个对象的引用,即...

    Java基础加强,成就java高手

    自动拆箱与装箱是Java中基本数据类型与其对应的包装类之间的转换过程。例如,`Integer num1 = 12;`是自动装箱,`System.out.println(num1 + 12);`是自动拆箱。Java为每个基本数据类型提供了缓存,对于一定范围内的...

    java包装类练习.doc

    Java 包装类型的自动装箱拆箱机制是指在(assign)操作时,Java 会自动地将基本类型转换为包装类型,或者将包装类型转换为基本类型。例如,Integer i = 100;这里的 i 就是自动装箱的结果。 5. Java 语句 Integer i=1;...

    Java拆装箱深度剖析

    这些包装类的对象在特定情况下可以自动转化为基本数据类型,反之亦然,这个过程就是拆箱和装箱。 装箱是指将基本数据类型转换为对应的包装类对象。例如,将int类型转换为Integer类型,这在隐式转换或者调用包装类的...

    JAVA 编程常见问题

    - Java 5 引入了自动装箱和拆箱特性,简化了基本类型和对应的包装类之间的转换。 ```java int num = 123; Integer boxedNum = num; // 自动装箱 int unboxedNum = boxedNum; // 自动拆箱 ``` #### 三、其他...

    java2022面试宝典

    自动装箱是Java中将基本数据类型转换为对应的包装类对象的过程,如int到Integer。反之,自动拆箱则是将包装类对象转换回基本数据类型。这两个过程在Java中是自动进行的,简化了编程工作。 六、重载与重写 - 重载...

    34个java问题.pdf

    - **可靠性**:Java拥有强大的错误检测能力,并支持自动垃圾回收,从而减少了内存泄漏等问题。 - **安全性**:Java提供了严格的安全模型,能够有效防止恶意代码的入侵。 - **多线程支持**:Java内置了多线程处理机制...

    Java API_5.0中文版

    4. **自动装箱与拆箱**:Java 5.0引入了自动装箱和拆箱机制,使得基本类型与对应的包装类之间可以无缝转换,简化了代码编写。例如,Integer i = 5; 这样的语句在Java 5.0及以后版本中是合法的。 5. **增强的for循环...

    JAVA 面试 问题和答案

    什么是自动装箱和拆箱?Java的数据类型分为基本类型和引用类型。自动装箱是指自动将基本类型转换为对应的包装类对象,拆箱则是将包装类对象转换为基本类型。 2.6 Java中的方法重载(Overloading)与重写(Overriding)是...

    261个Java语言问题

    13. int和Integer都是整数表示,但int是原始类型,而Integer是其对应的包装类,两者在使用上有所不同,例如Integer支持更多方法和自动装箱拆箱。 14. ==用于比较基本类型的值是否相等,而equals()方法用于比较对象...

    Java常见问题的笔试题目

    在IT行业的软件开发领域,Java作为一种广泛使用的编程语言,其面试和笔试环节中常常会涉及一系列常见的技术问题。本文将深入解析一个典型的Java笔试题目,该题目不仅考察了应试者对Java基本语法的理解,还测试了他们...

    java知识点总结.docx

    需要注意,过多的自动装箱和拆箱可能导致内存消耗和垃圾回收的压力,应合理使用。 3. JVM参数与垃圾回收机制: JVM的参数用于控制内存分配和垃圾回收策略。例如: - `-Xms20m`设置初始堆内存为20MB。 - `-Xmx20m`...

    java处理字符和字符串课件

    - **自动装箱与拆箱**:Java编译器会在必要时自动进行装箱(`char`转`Character`)和拆箱(`Character`转`char`)。 ```java Character ch_gender = '男'; // 自动装箱 char c = method(new Character('x')); // ...

    java(BAT)面试题汇总

    Java面试题是针对Java程序员求职者在应聘过程中所面临的面试场景,所提出的一系列相关技术问题。...这种机制大大简化了基本类型与对象类型之间的转换操作,但可能引起性能上的损耗和自动装箱对象的垃圾回收问题。

Global site tag (gtag.js) - Google Analytics