- 浏览: 208733 次
- 性别:
- 来自: 哈尔滨
文章分类
- 全部博客 (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 5822017年12月01日 笔试题目 1. final fina ... -
海量日志数据,提取出某日访问百度次数最多的那个IP
2017-11-29 21:18 2214问题:一个的日志文件中存放IP地址,按照访问量对IP地址取访问 ... -
输出十进制数字的二进制数的表示
2017-11-03 23:16 1093一、代码如下: public static void m ... -
将数组中的内容随机打乱
2017-10-27 22:45 505问题:斗地主游戏,开局会将纸牌重新打乱,请用数组的随机排序实现 ... -
JVM基础
2017-10-26 22:41 414一、Java 运行时区域 《 ... -
String为什么使用final 修饰
2017-10-25 22:32 962主要是为了”安全性“和”效率“的缘故 1、由于String类 ... -
沐金地面试记录
2017-10-25 22:15 49910.25 下午同事帮忙投递的,约在晚上面试,下班之后赶紧去了 ... -
JD广告部面试经历
2017-10-23 16:46 423同事的同事招聘,于是同事帮忙推荐了一下! 2017年10月1 ... -
编程题目(一)
2017-09-28 22:28 3921.函数:参数为两个字符串a,b ,判断 b 中是否包含 a ... -
值传递与引用传递
2017-05-30 12:25 322一、值传递与引用传递 其实按值还是按引用的区别在于“是否在传 ... -
装箱与拆箱
2016-10-24 22:46 523public class IntegerTest { ... -
可变性与不可变性
2015-06-01 20:55 439String StringBuilder StringBuff ... -
CS架构和BS架构的区别
2015-05-25 08:50 475一、简介 1.C/S结构,即 ... -
HTTP常见响应状态码
2015-05-20 08:26 412问题:程序调试过程中 ... -
JIT的概念
2015-05-19 18:48 700参考文献: http://blog.csdn.net/yan ... -
JDK与JRE与JVM的区别
2015-05-19 18:45 10901.JDK (1)概念 JDK : Java Developm ... -
运行时与编译时
2015-05-17 18:05 532运行时与编译时 博文转载:http://www.import ... -
System.exit(0)与return的区别
2015-05-17 16:49 1015问题:System.exit(0)与return的区别 1. ... -
重载(overloading)与重写(overriding)
2015-05-17 15:50 634问题:重载(overloading)与重写(overridin ... -
return finally 与 System.exit(n)
2015-05-10 18:00 661问题:System.exit(n);的含义以及作用 说明: ...
相关推荐
Java 中的 == 和 equals 方法的区别 在 Java 中,比较值大小有两种方法:== 和 equals,这两个方法的使用场景和比较规则不同,下面我们将详细探讨它们的区别。 基本数据类型和引用数据类型 在 Java 中,有两种...
C# 中的 == 和 equals 比较 在 C# 编程语言中,`==` 和 `equals` 是两个常用的比较运算符,但它们之间有很大的区别。 堆和栈的区别 在理解 `==` 和 `equals` 之前,我们需要了解堆和栈的区别。堆是一种动态分配的...
- 对于字符串和包装类,应优先使用`equals`方法进行比较,以确保得到正确的结果。 理解`==`与`equals`之间的区别对于编写正确且高效的Java代码至关重要。希望本文能帮助您更好地掌握这一概念,并在实际开发中避免...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的概念,很多开发者容易混淆它们。理解这两个概念的区别是非常重要的,因为它们对编程的正确性和性能都有很大的影响。 首先,我们需要了解 Java ...
对于开发的程序员小伙伴,大家肯定对于==和equals不陌生,而且会经常用到他,那么又有几个能够说清楚了==和equals是怎么回事呢?他了呢两个有什么区别呢? 比较 == 比较的是栈中的值,基本数据类型是变量值,引用...
"Java中的==和equals方法比较" 在Java中,`==`和`equals`是两种不同的比较方法,前者比较引用地址,而后者比较对象的实际内容。 首先,让我们来看看`==`运算符的用法。`==`运算符可以用来比较基本数据类型和引用...
在Java编程语言中,`==`和`equals()`方法是用来比较对象之间关系的两种常见方式,但它们在使用上有着显著的区别。 首先,`==`运算符主要用于比较基本类型(如int、char、byte等)的值是否相等,或者比较引用类型...
在Java编程语言中,比较运算符`==`和`equals()`方法是用来检查两个对象是否相等的,但它们之间存在显著的区别。理解这些差异对于编写正确的代码至关重要。 首先,我们来看`==`运算符。它主要用于基本数据类型的比较...
Java面试题07.==和equals的区别.mp4
在Java编程语言中,了解如何正确使用`==`和`equals()`方法是非常关键的,因为它们在比较对象和基本类型时有不同的行为。下面将详细解释这两个方法的工作原理、使用场景以及一些常见误区。 首先,`==`运算符主要用于...
java面试题精讲视频MP4Java面试题07.==和equals的区别提取方式是百度网盘分享地址
在Java编程语言中,`equals`方法与`==`操作符是进行...总结,`equals`方法和`==`操作符在Java中用于不同的目的,理解它们的差异可以帮助开发者更准确地进行对象比较。在处理对象比较时,应根据具体需求选择适当的方法。
在C#编程语言中,`==`运算符和`Equals()`方法是两种常见的用于比较对象是否相等的方式,但它们之间存在重要的区别。本文将详细解释这两种比较方式的不同点。 首先,`==`运算符主要用于比较基本数据类型的值是否相等...
Java 中的equals和==的区别 Java 是一种面向对象的编程语言,其中有两种数据类型:基本数据类型和引用数据类型。基本数据类型包括整数类型、浮点数类型、字符类型、布尔类型等,共有八种;而引用数据类型则包括 ...
Java 中 equals 和 == 的区别 Java 中的 equals 和 == 是两个不同的运算符,它们之间的区别是非常重要的。 首先,我们需要了解 Java 中的内存模型。在 Java 中,变量可以分为两种:基本类型(primitive type)和...
【Java面试题】equals与==的区别
"运算符和Equals()方法区别" 在C#语言中,`==`运算符和`Equals()`方法都是用来比较两个对象是否相等,但是它们之间存在着很大的区别。 对于值类型来说,`==`运算符和`Equals()`方法的行为是一致的,都会比较两个...
在C#编程语言中,`==`运算符和`Equals`方法经常被用来比较对象的相等性,但它们在工作原理和使用场景上存在显著差异。错误地将两者混为一谈可能导致程序逻辑出错,因此理解它们的区别至关重要。 首先,`Equals`方法...
在Java编程语言中,`equals()` 和 `==` 运算符经常被用来比较对象,但它们之间存在着显著的区别。理解这些差异对于编写正确、健壮的代码至关重要。以下是关于 `equals()` 和 `==` 在Java中的详细解释。 首先,`==` ...
Java中如何区分==和equals Java语言中,`==`和`equals`是两个常用的比较运算符,但是它们的含义和使用场景却有很大的区别。本文将详细介绍Java中如何区分`==`和`equals`,并提供代码示例帮助大家更好地理解和学习。...