- 浏览: 199030 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (267)
- java.lang (8)
- 问题汇总 (21)
- 异常记录 (20)
- 功能实现 (19)
- 面试总结 (25)
- 技巧总结 (8)
- 常用代码 (4)
- 编程习惯 (3)
- 编码规则 (3)
- java.util (10)
- java.io (1)
- JavaWeb (9)
- MySQL (16)
- SVN (3)
- MyBatis (11)
- Velocity (7)
- 其他知识 (10)
- 人生哲理 (1)
- 人生故事 (1)
- 自我感悟 (1)
- shiro (3)
- 基础知识 (0)
- 问题总结 (1)
- Spring 标签 (1)
- Spring (3)
- 点滴生活 (1)
- DOS (1)
- CAS (4)
- Linux (9)
- Storm (6)
- Shell (1)
- regex (1)
- Collection (4)
- poi (1)
- 经典语句 (1)
- NIO (5)
- concurrent (14)
- RPC (1)
- zookeeper (3)
- 待整理 (2)
- Hadoop (9)
- RabbitMq (2)
- flume (1)
- hive (7)
- hbase (4)
- kafka (1)
- scala (1)
- GC (0)
- java.util.concurrent.atomic (1)
- java.lang.ref (6)
- JVM (2)
- algorithm (1)
- conception (1)
- java key word (1)
- sun.misc (1)
最新评论
参考文献:
http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html
总结:
1.基本数据类型
(1)包括:byte,short,char,int,long,float,double,boolean
(2)操作:只有 ==
(3)含义:数值内容比较
2.引用数据类型
(1)包括:基本数据类型的包装类、字符串、数组、类以及其他
注:基本数据类型和包装类的区别
(2)操作:== 和 equals
(3)含义:
a.java中所有类都是Object类型的子类,Object类中有equals方法
Console窗口输出:
!o1.equals(o2)
!o1 == o2
即equals方法未被子类重写前,equals与==均为对象的地址比较
b.重写Object的equals方法
在People类中重写equals方法
Console窗口输出:
p.equals(p1)
重写equals方法后,equals比较内容,== 比较内存地址
c.Set的去重操作,若使用Set s = new HashSet()时,在重写equals()方法后,一定要重写hashCode()方法,否则判重失效
http://mingyundezuoan.iteye.com/admin/blogs/2211543
参考文献:http://www.importnew.com/2223.html
http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html
总结:
1.基本数据类型
(1)包括:byte,short,char,int,long,float,double,boolean
(2)操作:只有 ==
(3)含义:数值内容比较
2.引用数据类型
(1)包括:基本数据类型的包装类、字符串、数组、类以及其他
注:基本数据类型和包装类的区别
(2)操作:== 和 equals
(3)含义:
a.java中所有类都是Object类型的子类,Object类中有equals方法
Object o1 = new Object(); Object o2 = new Object(); if(o1.equals(o2)){ System.out.println("o1.equals(o2)"); }else{ System.out.println("!o1.equals(o2)"); } if(o1 == o2 ){ System.out.println("o1 == o2"); }else{ System.out.println("!o1 == o2"); }
Console窗口输出:
!o1.equals(o2)
!o1 == o2
即equals方法未被子类重写前,equals与==均为对象的地址比较
public class People { private String name ; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "People [name=" + name + "]"; } public People(String name) { super(); this.name = name; } }
People p = new People("1"); People p1 = new People("1"); if(p.equals(p1)){ System.out.println("p.equals(p1)"); }else{ System.out.println("!p.equals(p1)"); }
b.重写Object的equals方法
在People类中重写equals方法
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; People other = (People) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; }
Console窗口输出:
p.equals(p1)
重写equals方法后,equals比较内容,== 比较内存地址
c.Set的去重操作,若使用Set s = new HashSet()时,在重写equals()方法后,一定要重写hashCode()方法,否则判重失效
http://mingyundezuoan.iteye.com/admin/blogs/2211543
参考文献:http://www.importnew.com/2223.html
发表评论
-
京东商城--商城研发部面试
2017-12-01 19:30 5492017年12月01日 笔试题目 1. final fina ... -
海量日志数据,提取出某日访问百度次数最多的那个IP
2017-11-29 21:18 2180问题:一个的日志文件中存放IP地址,按照访问量对IP地址取访问 ... -
输出十进制数字的二进制数的表示
2017-11-03 23:16 1051一、代码如下: public static void m ... -
将数组中的内容随机打乱
2017-10-27 22:45 470问题:斗地主游戏,开局会将纸牌重新打乱,请用数组的随机排序实现 ... -
JVM基础
2017-10-26 22:41 376一、Java 运行时区域 《 ... -
String为什么使用final 修饰
2017-10-25 22:32 915主要是为了”安全性“和”效率“的缘故 1、由于String类 ... -
沐金地面试记录
2017-10-25 22:15 46010.25 下午同事帮忙投递的,约在晚上面试,下班之后赶紧去了 ... -
JD广告部面试经历
2017-10-23 16:46 391同事的同事招聘,于是同事帮忙推荐了一下! 2017年10月1 ... -
编程题目(一)
2017-09-28 22:28 3651.函数:参数为两个字符串a,b ,判断 b 中是否包含 a ... -
值传递与引用传递
2017-05-30 12:25 294一、值传递与引用传递 其实按值还是按引用的区别在于“是否在传 ... -
装箱与拆箱
2016-10-24 22:46 470public class IntegerTest { ... -
可变性与不可变性
2015-06-01 20:55 409String StringBuilder StringBuff ... -
CS架构和BS架构的区别
2015-05-25 08:50 437一、简介 1.C/S结构,即 ... -
HTTP常见响应状态码
2015-05-20 08:26 381问题:程序调试过程中 ... -
JIT的概念
2015-05-19 18:48 659参考文献: http://blog.csdn.net/yan ... -
JDK与JRE与JVM的区别
2015-05-19 18:45 10501.JDK (1)概念 JDK : Java Developm ... -
运行时与编译时
2015-05-17 18:05 496运行时与编译时 博文转载:http://www.import ... -
System.exit(0)与return的区别
2015-05-17 16:49 970问题:System.exit(0)与return的区别 1. ... -
重载(overloading)与重写(overriding)
2015-05-17 15:50 594问题:重载(overloading)与重写(overridin ... -
return finally 与 System.exit(n)
2015-05-10 18:00 602问题:System.exit(n);的含义以及作用 说明: ...
相关推荐
java中比较值大小,==和equals的区别,基本数据类型和引用数据类型比较值方法
详细介绍和讲解Java中的==和equals区别
==和equals方法究竟有什么区别? == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 ...
对于开发的程序员小伙伴,大家肯定对于==和equals不陌生,而且会经常用到他,那么又有几个能够说清楚了==和equals是怎么回事呢?他了呢两个有什么区别呢? 比较 == 比较的是栈中的值,基本数据类型是变量值,引用...
知识点 比较运算符==和equals方法的比较 知识点 比较运算符==和equals方法的比较
能够加强对java中equals与==区别的理解。
接触c#一年了,一直没搞懂“==”和equals之间的具体区别,今天特意研究了一番,终于豁然开朗了,高兴中!给大家分享
Java面试题07.==和equals的区别.mp4
主要介绍了C#中的 == 和equals()的区别,对不同点进行了阐述,感兴趣的小伙伴们可以参考一下
equals与==之间的区别,记事本详解
Java中的==与equals()实例方法Java中测试两个变量是否相等的方法有两个,一个是用==运算符,另一个就是object类提供的equals()方法。2
C#程序设计-3期(KC008) KC008110100003-错误的认为==和Equals作用相同.docx 学习资料 复习资料 教学资源
java中equals和==的区别.doc java中equals和==的区别.doc
关于Java中==的用法与equals的用法,醉重要的是比较它们的不同之处
【Java面试题】equals与==的区别
主要介绍了java 中equals和==的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
==和 equals ()都是用于相等型判断的操作符 == 操作符用来判断两个引用是否指的同一个对象,或两个简单类型的值是否相等 即: [ == 比较值类型数据,比较的是值, 而引用类型对象比较的是地址] equals() 方法用来判断...
==运算符和Equals()方法区别,从网上找到的,大家看一看吧~
equals和==的区别?equals与==的区别?equals和==有什么区别? Java解惑系列之一--equals和==之间究竟有什么区别 稍微学过一些java的同学都可能在网络上看到这样的一道题: 在java语言当中,equals和==之间究竟有...
文章目录1、hashCode与equals两者之间的关系2、== 和equals的区别`3、为什么要重写equals()方法?4、重写equals()方法5、为什么要重写hashCode()方法?6、什么时候需要重写hashCode()方法?7、重写hashCode()方法: ...