JavaDriver JavaDriver
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YoungAnn

西二旗Java老司机一枚 致力于社会主义添砖Java
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

    • Java 异常有哪些类型?
    • HashMap 与 ConcurrentHashMap 的实现原理是怎样的?
    • Java 中接口和抽象类的区别
    • 为什么重写 equals 必须重写 hashcode ?
    • == 和 equals() 的区别?
      • == 和 equals() 的区别?
    • String,StringBuffer,StringBuilder 之间有什么区别?
    • 简述 ArrayList 与 LinkedList 的底层实现以及常见操作的时间复杂度
    • 简述 BIO, NIO, AIO 的区别
    • 在一个静态方法内调用一个非静态成员为什么是非法的?
    • 简述 Java 的反射机制及其应用场景
    • Java 类的加载流程是怎样的?
    • 什么是双亲委派机制?
    • Java 中 sleep() 与 wait() 的区别
    • 简述 Java 中 final 关键字的作用
    • String 类能不能被继承?为什么?
    • Java 缓冲流 buffer 的用途和原理是什么?
    • 简述动态代理与静态代理
    • 阻塞队列都有哪几种,有什么区别?
    • 简述 HashSet 实现原理
  • 并发

  • JVM

  • 设计模式

  • Java相关
  • 基础
YoungAnn
2022-04-04
目录

== 和 equals() 的区别?

# == 和 equals() 的区别?

  • == : 基本数据类型==比较的是值,引用数据类型==比较的是内存地址。
  • 类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。
public static void main(String[] args) {
		String s1 = new String("hello"); // s1 为一个引用
        String s2 = new String("hello"); // s2和s1内容一样
        String s3 = "world"; // 放在常量池中
        String s4 = "world"; // 从常量池中查找
        String o1 = new Object(); // o1 为一个引用
        String o2 = new Object(); // o2 为另一个引用
        if (aa == bb) // true 都是常量池的地址
            System.out.println("aa==bb");
        if (s1 == s2) // false,比较地址,s1 s2是两次new出来的对象,地址肯定不同
            System.out.println("a==b");
        if (s1.equals(s2)) // true String的equals方法被重写了 比较的是内容
            System.out.println("aEQb");
        if (o1 == o2) // false Object没有重写equals 比较地址
            System.out.println("aa==bb");
        if (o1.equals(o2)) // false 比较地址 Object没有重写equals 比较地址
            System.out.println("a==b");
        if (55 == 55L) { // true 基本数据类型  比较的是数值
            System.out.println("true");
        } 
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
编辑 (opens new window)
上次更新: 2022/05/19, 21:26:01
为什么重写 equals 必须重写 hashcode ?
String,StringBuffer,StringBuilder 之间有什么区别?

← 为什么重写 equals 必须重写 hashcode ? String,StringBuffer,StringBuilder 之间有什么区别?→

最近更新
01
电商-商品系统设计
12-17
02
关于如何写OKR
12-09
03
对事不对人 vs 对人不对事
12-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 YoungAnnn | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式