java中==和equals
/**
* @author zhaojiatao
* @date 2018/7/19
*/
public class equalsLearn { public static void main(String[] args) { /**
* 当基本类型的比较时:只能用==,比较值;
* 当是引用类型比较时:如果未重写equals方法,那么equals用的是来自object类的equals方法,就是==,即比较内存地址
* 当是String类型时,如果是由String str="xxx";这样直接赋值的话,比较的是字符串的值;
* 如果由String str=new String("xxx");方式new出来的对象的话,比较时是用的String类重写的equals方法;
* 注意,toString方法返回的new String()对象;
*
*/ int x=1;
int y=1; // 基本类型判断值是否相等
System.out.println(x==y);// true //java会自动拆箱,由编译器完成,实际上判断的是x==1
System.out.println(x==new Integer(1));// true //比较两个对象的内存地址
System.out.println(new Integer(1)==new Integer(1));// false //使用Integer包装类重写的equals方法比较
System.out.println(new Integer(1).equals(new Integer(1)));//true String str1="abc";
String str2="abc"; // 比较两个字符串的值
System.out.println(str1==str2);// true // 比较两个字符串 使用String类重写的equeals方法
System.out.println(str1.equals(str2));// true StringBuffer str3=new StringBuffer("efg");
StringBuffer str4=new StringBuffer("efg"); // 比较内存地址
System.out.println(str3==str4);//false
// 比较内存地址
System.out.println(str3.equals(str4));// false 由于StringBuffer类没有重写Object类的equals,故比较的是内存地址 // toString会生成new String()对象
System.out.println(str3.toString()==str4.toString());//false 比较内存地址
System.out.println(str3.toString().equals(str4.toString()));//true 使用String对象重写的equals比较 } }
java中==和equals的更多相关文章
- 浅谈Java中的equals和==(转)
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...
- 浅谈Java中的equals和==
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...
- Java中的equals和hashCode方法
本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要 ...
- Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例(转)
Java中==.equals.hashcode的区别与重写equals以及hashcode方法实例 原文地址:http://www.cnblogs.com/luankun0214/p/4421770 ...
- java集合(3)- Java中的equals和hashCode方法详解
参考:http://blog.csdn.net/jiangwei0910410003/article/details/22739953 Java中的equals方法和hashCode方法是Object ...
- 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别
Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: String str1 = new String(" ...
- Java中的equals和hashCode方法详解
Java中的equals和hashCode方法详解 转自 https://www.cnblogs.com/crazylqy/category/655181.html 参考:http://blog.c ...
- 关于Java中的equals方法
关于Java中的equals方法 欢迎转载,但是请填写本人的博客园原址https://www.cnblogs.com/JNovice/p/9347099.html 一.什么是equals方法 equa ...
- 沉淀再出发:java中的equals()辨析
沉淀再出发:java中的equals()辨析 一.前言 关于java中的equals,我们可能非常奇怪,在Object中定义了这个函数,其他的很多类中都重载了它,导致了我们对于辨析其中的内涵有了混淆, ...
- 转:Java中的equals和hashCode方法详解
转自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这 ...
随机推荐
- no.10京东咚咚架构演讲读后感
京东之与旺旺相当于淘宝,他们都是服务于买家和卖家的沟通.京东咚咚的功能比较简单,实现了一个 IM 的基本功能,接入.互通消息和状态. 另外还有客服功能,就是顾客接入咨询时的客服分配,按轮询方式把顾客分 ...
- MYSQL连接不上100061错误
有界面的情况下启动MYSQL 无界面 https://blog.csdn.net/qq_22233621/article/details/72673176 参考
- 关于域名转发proxy_pass
在配置nginx的时候,有一个需求,访问m.XXX.com的时候,需要实际访问www.YYY.com/m,并且域名不能发生变化. 达成这个需求有两种做法: 第一种就是301跳转,使用rewrite来跳 ...
- Java固定资产管理系统 源码 jsp ssh
固定资产管理系统是对高校固定资产的一个信息化管理系统,基本功能包括:对固定资产的购进.接触.销毁,对物品的使用状态.借出状态.库存状态等进行标识,对各类物品进行编号,根据编号进行查询,根据名称进行查询 ...
- windows下关闭自动更新方法
第一种方法: 1.windows+R键打开运行窗口,输入services.msc 2.找到windows update服务右键属性 第二种方法 Win键+R键在弹出的运行对话框中输入gpedit.ms ...
- 面试准备 css 书写顺序及原理
书写顺序 (1)定位属性:position display float left top right bottom overflow clear z-index (2)自身属性: ...
- IP首部检验和的计算和举例
IP首部校验和 首部校验和(16位)字段只检验数据报的首部,不检验数据部分.这里不采用CRC检验码而采用简单的计算方法. 发送端 首先将检验和置零,求首部数据的补码和(包含检验和),因为为零,所以无影 ...
- POJ 1850:Code 组合数学
Code Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 8710 Accepted: 4141 Description ...
- shell中获取文件目录方法
1.``:表示执行对应的命令,嵌套时使用`\`\``,注意\进行转义,同时执行多个命令时使用:隔开file=`cd "\`dirname $0\`";pwd`echo $file ...
- tableau 和 R 的连接
1.安装R包Rserve 2.tableau帮助-管理外部服务连接,单击测试按钮出现成功连接即是通信成功. 3.创建新工作表,设置id字段,针对id记录数创建计算字段Rrand.将Rrand拖入行维度 ...