==的作用:

基本类型:比较的就是值是否相等

引用类型:比较的就是地址值是否相同

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的区别,新手必会!相关推荐

  1. 面试必问一:Java 中 == 和 equals 的区别你知道吗

    面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...

  2. java中==和equals的区别

    package com.atguigu.java1;import java.sql.Date;/** * equals()和==的区别* *一.回顾==的使用*==:运算符* 1.可以使用在基本数据类 ...

  3. JAVA中“==”与equals()方法区别

    equals 方法是 java.lang.Object 类的方法 有两种用法说明: (1)对于字符串变量来说,使用"=="和"equals()"方法比较字符串时 ...

  4. Java中“==”和equals()的区别

    有人经常弄不清楚"=="和equals()的区别在哪里,可以认真看下这篇文章,然后你亲自敲下代码,试试.  java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型 ...

  5. java中== 和 .equals()的区别

    在java中,我们用来比较两个数据类型是否一样的时候,通常会用到 == 和 .equals(),然而这两者有什么区别呢.下面我们通过一些例子来看一下. package test;public clas ...

  6. java中==与equals的区别及理解_Java开发中常量池的理解与归纳

    相关概念 1.什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种类型的常量. 2.Class文件中的常量池 ...

  7. 面试基础整理(一)---Java中==和equals的区别

    最近开始回头复习Java基础内容,在遇到==这个关系运算符和equals运算符时,发现了很多有趣的现象. 代码如下: //基本数据类型的比较int num1 = 10;int num2 = 10;Sy ...

  8. java中==与equals的区别

    ==是运算符,用于比较两个变量是否相等,对于基本类型而言比较的是变量的值,对于对象类型而言比较的是对象的地址. equals() 是Object类的方法,用于比较两个对象内容是否相等.默认Object ...

  9. Java 中==和 equals 的区别, equals 和 hashCode 的区别

    ==操作符用来比较两个基本类型变量时,比较的是值:用来比较引用类型变量时,比较的是引用的地址 equals方法是基类Object的方法,用于比较两个对象的内容是否相同,Object类中equals方法 ...

最新文章

  1. confluence 编辑器这次没有加载_代码编辑器横评:为什么 VS Code 能拔得头筹
  2. 深度学习图片分类CNN模板
  3. STL库容器vector at函数
  4. C# Regex 正则表达式 匹配特定的内容
  5. GWT和HTML5 Canvas演示
  6. 为什么要重写toString()方法和hashcode()方法
  7. base64转file图片上传
  8. 中国域名商域名注册保有量28强:美橙互联夺回第八
  9. 逻辑回归与线性回归是什么关系呢?
  10. 找不到服务器 ip 地址,无法访问此网络 找不到服务器IP地址
  11. 小程序与MySQL数据库的交互_微信小程序与服务器的交互原理
  12. 金蝶K3 WISE 15.0客户端安装部署指南
  13. kudu底层存储引擎的数据组织方式
  14. ALCOA+CCEA原则(数据完整性标准)
  15. 宝塔面板ssh安装mysql_centos安装BT宝塔面板
  16. Debian10开启路由转发以及配置dhcp中继
  17. 【SemiDrive源码分析】【X9芯片启动流程】20 - MailBox 核间通信机制介绍(代码分析篇)之 MailBox for RTOS 篇
  18. Java中的Listener监听器与Ajax技术和Axios异步框架以及JSON传递接收数据
  19. 在大学之中,大部分学生都学不好C语言,是C语言越来越难学了吗?
  20. 图像处理:显著性区域检测总结(一)

热门文章

  1. 预测泰坦尼克号生存问题
  2. 如何在谷歌chrome中打开、编辑、保存微软Office文档?
  3. 叶念琛的爱情三部曲——感触!
  4. Vue.js框架入门经典项目TodoMVC
  5. List 转 Array数组
  6. mysql数据表默认utf8_设置Mysql数据库的默认编码为utf8
  7. 解决小米等手机ADB连接不上的问题
  8. 【技术教程】如何修改视频RTSPServer组件EasyRTSPServer-win的端口号?
  9. 换主板 oracle 蓝屏,在win7系统中更换主板后蓝屏的解决方案
  10. Android 实现个性的ViewPager切换动画 实战PageTransformer(兼容Android3.0以下)