java 双等号(==) 与equals方法的区别

  1. == 用于比较基本数据类型时,比较的是值
  2. ==用于比较引用数据类型时,比较的是地址
  3. equals方法在Object类中比较的也是地址,因为在低层也是使用==进行比较
  4. String类调用equals方法比较的内容,因为String类对equals方法进行了重写,改为了比较字符串的内容
package com.qfedu.test2;
/*** == 与 equals方法区别* @author **/
public class Person {private String name;private String idCard;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getIdCard() {return idCard;}public void setIdCard(String idCard) {this.idCard = idCard;}public Person(String name, String idCard) {this.name = name;this.idCard = idCard;}public Person() {}public static void main(String[] args) {Person p1 = new Person("张三","abcd");Person p2 = new Person("张三","abc");//== 比较的是地址 falseSystem.out.println(p1 == p2);//Object类中equals方法低层使用的也是 == 所以比较的也是地址 打印false System.out.println(p1.equals(p2));System.out.println("======================");//String 也是一个类 可以创建对象并赋值String str1 = new String("abc");String str2 = new String("abc");//==比较的是地址  falseSystem.out.println(str1 == str2);//String 中重写的equals方法 比较的是内容 输出trueSystem.out.println(str1.equals(str2));}}

写了个增强版:https://blog.csdn.net/qq_44657530/article/details/121843658

java 双等号(==) 与equals方法的使用区别相关推荐

  1. Java双等号,Equals(),HashCode()小结

    默认情况 - 双等号==,比较的是内存地址. - equals(),默认比较的是内存地址. - hashCode(),默认返回的是object的内存地址. String中方法改写的情况 经常会遇到需要 ...

  2. Java基础篇:equals()方法与==的区别

    1.超类Object的equals()底层原理: 在Object超类中已经提供了equals()方法,源码如下: public boolean equals(Object obj) { return ...

  3. java 双等号(==) 与equals方法的介绍和区别

    java 双等号(==) 与equals方法的介绍和区别 1.基本数据类型与equals方法 == 用于比较基本数据类型时,比较的是值 ==用于比较引用数据类型时,比较的是地址 equals方法在Ob ...

  4. Java中equals()方法和==的区别分析

    Java中equals方法和==的区别分析 equals(Object obj)方法,将对象与传入的obj进行比较,相等返回true,否则返回false.equals方法和"==" ...

  5. Java基础知识之equals方法

    <Java核心技术> 1.equals方法介绍以及重写 Object类中的equals方法是用于检测两个对象是否相等,在Object类中equals方法的具体实现是确定两个对象引用是否相等 ...

  6. Java易混小知识——equals方法和==的区别

    一.equals方法和==的区别 1.equals是String对象的方法,可以通过"."调用. 2.== 是一个运算符. 二.常用的比较用法 1.基本数据类型比较. equals ...

  7. scale和java比较_浅谈java中BigDecimal的equals与compareTo的区别

    这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都 ...

  8. java双等号和equals_Java中的 equals和双等号,你懂吗?

    点击蓝色"程序员的时光 "关注我 ,标注"星标",及时阅读最新技术文章! 在说equals方法与"=="之前,我们先来回顾一下Java中的数 ...

  9. java双等号比较字符串,Java与两个字符串==比较是错误的?

    ==运算符比较对象引用,而不是String的值. 要比较String的值,请使用String.equals方法: "231".equals(parts[0]); Java中的任何其 ...

最新文章

  1. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)
  2. 新一代Web的蓝图--语义web
  3. 『PPYOLO tiny尝鲜』基于PaddleDetection的人脸疲劳检测
  4. 时下最流行前端构建工具Webpack 入门总结
  5. 单线程写多线程读安全的结构体
  6. 流量和延迟减半!挑战 TiDB 跨数据中心难题
  7. 只需三种手段,将传统的网站的性能提高 24%!
  8. spark rdd map java_Spark map 遍历rdd中的每个元素
  9. linux复习题之阶段性考试题目
  10. 微信小程序 后端接口(thinkphp)
  11. PowerVR SDK工具包21.1版新亮点一览,特别增加光线追踪代码示例
  12. 不得不知 云计算入门必备的60条术语
  13. 陈满雪冤背后英雄:上百名同学捐款数十万元
  14. 玩转Python量化金融工具之NumPy
  15. Git ~ commit 规范
  16. 高性能Javascript(1)
  17. Ray入门指南(1)----ray分布式框架的介绍
  18. PhotoshopCS6常用快捷键
  19. 多重比较校正中的一些概念
  20. Fiddler使用介绍

热门文章

  1. 效率提升,英特尔助力企业驶入“快车道”
  2. MQ java.lang.OutOfMemoryError: unable to create new native thread
  3. NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifest
  4. list和对象数据复制CopyUtil工具类
  5. Spring Boot 配置SSL 实现HTTPS
  6. php生成图片文件流,php如何将base64数据流文件转换为图片文件?
  7. html页面内分栏显示不全,怎么消除Word文档分栏后栏间不平衡现象
  8. 听障学生计算机课本,面向听障学生程序设计的计算机教学辅助系统
  9. java403forbidden_java – Spring boot – 返回403 Forbidden而不是重定向到登录页面
  10. 怎么从gitlab上下载别人的代码