Java中==和equals的区别,新手必会!
==的作用:
基本类型:比较的就是值是否相等
引用类型:比较的就是地址值是否相同
equals的作用:
引用类型:默认情况下,比较的是地址值
特殊:String、Integer、Date这些类库中的equals被重写了,比较的是内容而不是地址!
例如:
public static void main(String[] args) {Integer a = 11;Integer b = 11;Integer c = 22;System.out.println(a==b);System.out.println(a==c);System.out.println(a.equals(b));System.out.println(a.equals(c)); }
结果:
true
false
true
false
面试题:请解释字符串比较中“==”和equals()的区别?
答:==:比较的是两个字符串的内存地址(堆内存)的值是否相等,属于值的比较;
equals():比较的就是两个字符串的内容,属于内容比较。
例如:
public class Main {public static void main(String[] args) {String s = new String("abc");String s1 = "abc";String s2 = "def";String s3 = new String("abc");;System.out.println(s==s1);System.out.println(s==s2);System.out.println(s==s3);System.out.println(s.equals(s1));System.out.println(s.equals(s2));System.out.println(s.equals(s3));} }
结果:
false
false
false
true
false
true
Java中==和equals的区别,新手必会!相关推荐
- 面试必问一:Java 中 == 和 equals 的区别你知道吗
面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...
- java中==和equals的区别
package com.atguigu.java1;import java.sql.Date;/** * equals()和==的区别* *一.回顾==的使用*==:运算符* 1.可以使用在基本数据类 ...
- JAVA中“==”与equals()方法区别
equals 方法是 java.lang.Object 类的方法 有两种用法说明: (1)对于字符串变量来说,使用"=="和"equals()"方法比较字符串时 ...
- Java中“==”和equals()的区别
有人经常弄不清楚"=="和equals()的区别在哪里,可以认真看下这篇文章,然后你亲自敲下代码,试试. java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型 ...
- java中== 和 .equals()的区别
在java中,我们用来比较两个数据类型是否一样的时候,通常会用到 == 和 .equals(),然而这两者有什么区别呢.下面我们通过一些例子来看一下. package test;public clas ...
- java中==与equals的区别及理解_Java开发中常量池的理解与归纳
相关概念 1.什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. 2.Class文件中的常量池 ...
- 面试基础整理(一)---Java中==和equals的区别
最近开始回头复习Java基础内容,在遇到==这个关系运算符和equals运算符时,发现了很多有趣的现象. 代码如下: //基本数据类型的比较int num1 = 10;int num2 = 10;Sy ...
- java中==与equals的区别
==是运算符,用于比较两个变量是否相等,对于基本类型而言比较的是变量的值,对于对象类型而言比较的是对象的地址. equals() 是Object类的方法,用于比较两个对象内容是否相等.默认Object ...
- Java 中==和 equals 的区别, equals 和 hashCode 的区别
==操作符用来比较两个基本类型变量时,比较的是值:用来比较引用类型变量时,比较的是引用的地址 equals方法是基类Object的方法,用于比较两个对象的内容是否相同,Object类中equals方法 ...
最新文章
- confluence 编辑器这次没有加载_代码编辑器横评:为什么 VS Code 能拔得头筹
- 深度学习图片分类CNN模板
- STL库容器vector at函数
- C# Regex 正则表达式 匹配特定的内容
- GWT和HTML5 Canvas演示
- 为什么要重写toString()方法和hashcode()方法
- base64转file图片上传
- 中国域名商域名注册保有量28强:美橙互联夺回第八
- 逻辑回归与线性回归是什么关系呢?
- 找不到服务器 ip 地址,无法访问此网络 找不到服务器IP地址
- 小程序与MySQL数据库的交互_微信小程序与服务器的交互原理
- 金蝶K3 WISE 15.0客户端安装部署指南
- kudu底层存储引擎的数据组织方式
- ALCOA+CCEA原则(数据完整性标准)
- 宝塔面板ssh安装mysql_centos安装BT宝塔面板
- Debian10开启路由转发以及配置dhcp中继
- 【SemiDrive源码分析】【X9芯片启动流程】20 - MailBox 核间通信机制介绍(代码分析篇)之 MailBox for RTOS 篇
- Java中的Listener监听器与Ajax技术和Axios异步框架以及JSON传递接收数据
- 在大学之中,大部分学生都学不好C语言,是C语言越来越难学了吗?
- 图像处理:显著性区域检测总结(一)
热门文章
- 预测泰坦尼克号生存问题
- 如何在谷歌chrome中打开、编辑、保存微软Office文档?
- 叶念琛的爱情三部曲——感触!
- Vue.js框架入门经典项目TodoMVC
- List 转 Array数组
- mysql数据表默认utf8_设置Mysql数据库的默认编码为utf8
- 解决小米等手机ADB连接不上的问题
- 【技术教程】如何修改视频RTSPServer组件EasyRTSPServer-win的端口号?
- 换主板 oracle 蓝屏,在win7系统中更换主板后蓝屏的解决方案
- Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)