`

[原]关于包装类和基本类型之间的,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

 

分享到:
评论

相关推荐

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

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

    疯狂JAVA讲义

    6.1 基本数据类型的包装类 167 6.2 处理对象 170 6.2.1 打印对象和toString方法 170 6.2.2 ==和equals比较运算符 172 6.3 类成员 175 6.3.1 理解类成员 175 6.3.2 单例(Singleton)类 176 6.4 final修饰符 ...

    JAVA基础课程讲义

    基本数据类型的包装类 117 包装类基本知识 117 包装类的用途 118 自动装箱和拆箱?autoboxing,unboxing 119 字符串相关类(String、 StringBuffer 、 StringBuilder) 120 String类的常用方法(已讲过,不再讲!) ...

    AIC的Java课程1-6章

     使用基本类型的包装器类,理解装箱和拆箱。  [*]了解Java内存机制:栈、堆、常量池等,理解垃圾回收机制。 第3章 面向过程(数组和方法) 4课时  理解如何声明数组、构造数组、初始化数组...

    Java面试宝典(传说中的葵花宝典).doc

    在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是...

    java7hashmap源码-java:Java

    运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符、运算符优先级 day03_基本语法.程序流程控制:顺序结构、分支结构、循环结构 顺序结构 分支结构 循环结构 break语句用于终止某个...

    整理后java开发全套达内学习笔记(含练习)

    instanceof (关键字) 运算符,用于引用变量,以检查这个对象是否是某种类型。返回 boolean 值。 interface (关键字) 接口 ['intәfeis] invoke vt.调用 [in'vәuk]' ( invocation [,invәu'keiʃәn]) Iterator ...

    超级有影响力霸气的Java面试题大全文档

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    leetcode下载-leetcode:leetcode练习

    和逻辑运算符 & 、| 的区别 位运算 & | ^ ~ &gt;&gt; &lt;&lt; &gt;&gt;&gt; &lt;&lt;&lt; 的含义 == 和 equals。( == 数值相同也相同) 运算符优先级 for循环执行顺序 label + break/continue 的使用 二维数组的初始化 String 相关...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    5.3 包装类的使用 114 实例093 将字符串转换成整数 114 实例094 整数进制转换器 115 实例095 查看数字的取值范围 116 实例096 ASCII编码查看器 117 实例097 Double类型的比较 118 5.4 面向对象的特征 119 实例098 ...

    Java学习笔记-个人整理的

    {4.10}包装类}{87}{section.4.10} {4.11}集合的复制}{88}{section.4.11} {4.12}集合的同步化}{89}{section.4.12} {4.13}集合转换为数组}{89}{section.4.13} {4.14}数组转换为集合}{89}{section.4.14} {4.15}...

Global site tag (gtag.js) - Google Analytics