`

[原]关于包装类和基本类型之间的,equals,==和逻辑运算符的比较

    博客分类:
  • SCJP
 
阅读更多

 

                /**
		 * 包装类与包装类
		 */
		Integer x = 123;
		Integer y = 123;
		Integer z = new Integer(123);
		Long l = 123l;
		Double d = 123.1;
		
		System.out.println("1." + x.equals(y));
		System.out.println("2." + x.equals(z));
		System.out.println("3." + x.equals(l));//equals比较的是对象本身,只有同个类的对象才有可能equals阿!		
		System.out.println("4." + (x == y));
		System.out.println("5." + (x<=d)); //不同包装类,是可以用<,>这些比较它们的值的,因为他们会拆箱
		
		/**
		 * 对于基本类型
		 */
		int x2 = 23;
		long l2 = 23l;
		double d2 = 23.1;
		System.out.println("6." + (x2 == l2));//对于基本类型,int,long,double这些都是可以直接用 ==,<这些运算符比较数值大小的!
		System.out.println("7." + (x2 > d2));
		
		/**
		 * 包装类和基本类型
		 */
		Integer i1 = 123;
		int i2 = 123;
		long l3 = 123;
		System.out.println("8." + i1.equals(i2));
		System.out.println("9." + i1.equals(l3));//equals比较的是对象本身!long装箱之后是Long,跟Integer是不可能equals的
		System.out.println("10." + (i1 == i2));
		System.out.println("11." + (i1 == l3));//==是拆箱之后比较数值

 

运行结果是:

 

1.true

2.true

3.false

4.true

5.true

6.true

7.false

8.true

9.false

10.true

11.true

 

分享到:
评论

相关推荐

    Java中的==和equals区别

    - 对于字符串和包装类,应优先使用`equals`方法进行比较,以确保得到正确的结果。 理解`==`与`equals`之间的区别对于编写正确且高效的Java代码至关重要。希望本文能帮助您更好地掌握这一概念,并在实际开发中避免...

    java中equals和==的区别.pdf

    虽然两者都可以用于比较,但它们有着本质的区别,特别是在比较对象和基本数据类型值时。 首先,我们来了解"=="运算符。在Java中,"=="运算符用于比较两个对象的引用是否指向同一个实例,或者比较两个基本数据类型的...

    Java 程序显示 equals() 方法的用法.docx

    总结一下,`Java`中的`equals()`方法是用于比较对象内容是否相等的关键工具,对于基本类型的包装类如`Short`,`equals()`方法已经进行了重写,以比较它们的数值而不是引用。理解并正确使用`equals()`方法对于编写...

    Java面试题全集.pdf

    - equals()方法可以被重写以提供不同的比较逻辑,对于包装类,通常equals()方法被重写用于比较对象的实际值而非引用地址。 8. Java语言的创建者: - 文件中提到了James Gosling,他是Java编程语言的创建者。 9. ...

    【面试】hashCode与equals两者之间的关系 / == 和equals / 为什么要重写equals方法 / 重写equals /hashcode方法 / 为什么要重写hashCode方法

    对于基本类型的包装类,`equals()`和`==`的效果相同,因为它们在内部自动装箱拆箱。 3、**为什么要重写equals()方法?** 默认情况下,`equals()`方法继承自`Object`类,比较的是对象的引用。在处理自定义类时,...

    java基础(最全带图)

    `int` 是基本数据类型,`Integer` 是 `int` 的包装类。例如 `int a = 10;` 和 `Integer b = 10;`,这里的 `a` 是基本数据类型,`b` 是包装类。`Integer` 的初值为 `null`,而 `int` 的初值为 `0`。 八、`==` 和 `...

    java常见面试题

    - 自动装箱和拆箱允许在包装类和基本类型之间无缝转换。 这些知识点覆盖了Java的基础语法、数据类型、流程控制、类型转换、内存管理和面向对象概念,是Java开发者必备的基础知识。在面试中,理解和熟练运用这些...

    JAVA编程

    另外,需要注意的是,对于某些特殊的类(如File、Data、String和包装类),当类型相同且内容一致时,`equals()`会返回true。例如: ```java String str3 = str1; System.out.println(str1.equals(str3)); // true ...

    尚硅谷java 2019练习.zip

    运算符算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符、运算符优先级day03_基本.程序流程控制顺序结构、分支结构、循环结构day04_基本语法.day05_面向对象编程类结构、属性、方法day06_面向...

    V20-Java笔记整理-重要概念和常见陷阱梳理.docx

    **7.5 包装类、基本数值类型和字符串之间转换关系** - **基本数值类型转换为包装类**:使用对应的包装类的构造函数。 - **包装类转换为基本数值类型**:使用包装类的`xxxValue()`方法。 - **字符串转换为包装类**:...

    GitHub 上标星 115k+ 的 Java 教程.pdf

    Java 中的基本运算符包括算术运算符、比较运算符、逻辑运算符、赋值运算符等。switch 语句是 Java 中的一种选择语句,用于根据不同的值执行不同的语句块。 五、Autoboxing 和 Unboxing Autoboxing 是 Java 中的一...

    java面试题大全.pdf

    8. 基本数据类型与包装类:在Java中,除了八种基本数据类型,还存在与之对应的包装类,如Integer、Double等。它们是不可变的,并且提供了各种有用的方法来处理对应的基本数据类型。 9. 集合框架:Java集合框架包括...

    Java编程详细教程面向对象程序设计进阶下PPT教案学习.pptx

    自动装箱是将基本类型转换为对应的包装类对象,而自动拆箱则是将包装类对象转换为其基本类型。这两个特性简化了对象与基本类型之间的转换操作。 6. **==与equals()的区别**:`==`运算符比较的是两个对象的引用,看...

    java程序员面试整理3(1).pdf

    & 和 && 运算符都是逻辑与运算符,但它们有所不同。& 运算符将两个表达式都执行,而 && 运算符只有在第一个表达式为真时才执行第二个表达式。 十三、== 和 equals() 方法 == 和 equals() 方法都是用于比较两个对象...

    Java笔记1

    包装类用于基本数据类型和对象之间的转换,而==和equals方法在比较对象时有不同用途。单例模式确保一个类只有一个实例,final关键字用于声明不可变的变量、方法和类。 抽象类和接口是实现多态的方式,内部类提供了...

    Java面试问题集.pdf

    对于基本类型,"=="和equals()的行为相同。 12. 静态变量属于类,而实例变量属于类的每个实例。静态变量在类加载时初始化,所有实例共享;实例变量在创建对象时初始化,每个实例有自己的副本。 13. 不可以从static...

    java面试宝典

    对于基本类型,"=="和equals()效果相同,但对于对象,需要重写equals()以进行自定义比较。 12. **静态变量和实例变量**:静态变量属于类,所有实例共享同一份拷贝;实例变量属于对象,每个实例有自己的拷贝。静态...

    2012java试题.docx

    根据提供的文档信息,我们可以总结出一系列关于Java编程语言的关键知识点,包括计算机系统的基本构成、Java语言的特点、数据类型、变量命名规则、运算符的使用、类的构造方法、方法定义、关键字`final`的用途、对象...

Global site tag (gtag.js) - Google Analytics