java 中 == 运算符 和 equals方法 的区别

  • == 是一种运算符,equals 是object类中的一种通用方法
  • 八大基本数据类型只能使用 == ,因为它们没有equals方法

八大基本数据类型

  • 字符类型:char
  • 布尔类型:boolean
  • 数值类型:byte,short,int,long,float,double

==

  • 基本类型:比较值是否相等
  • 引用类型:比较地址是否相同

equals

  • 未重写时:比较地址是否相同
  • 重写时:比较所指对象的内容
String s1 = "hello";						//存储在栈中
String s2 = "hello";						//直接指向栈中原有的hello
String s3 = new String("hello");			//新建在堆内存中
System.out.println(s1 == s2);				//true		== 对比地址是否相同
System.out.println(s1 == s3);				//false
System.out.println(s2 == s3);				//false
System.out.println(s1.equals(s2));			//true		equals 对比字符串内容是否相同
System.out.println(s1.equals(s3));			//true
System.out.println(s2.equals(s3));			//true

使用总结:八大基本数据结构作对比时用 == 运算符,引用类型(如String)作对比时用equals方法

posted @   youngalone  阅读(44)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示