惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Archives - TechRepublic
MongoDB | Blog
MongoDB | Blog
量子位
博客园 - 叶小钗
罗磊的独立博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
MyScale Blog
MyScale Blog
GbyAI
GbyAI
Help Net Security
Help Net Security
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
Hacker News - Newest:
Hacker News - Newest: "LLM"
Latest news
Latest news
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
P
Proofpoint News Feed
C
CXSECURITY Database RSS Feed - CXSecurity.com
Scott Helme
Scott Helme
S
Schneier on Security
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
S
Securelist
博客园 - Franky
Application and Cybersecurity Blog
Application and Cybersecurity Blog
A
About on SuperTechFans
N
News and Events Feed by Topic
AI
AI
T
Tenable Blog
N
News | PayPal Newsroom
C
Cybersecurity and Infrastructure Security Agency CISA
V
V2EX - 技术
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 热门话题
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google Online Security Blog
Google Online Security Blog
S
Security Affairs
Webroot Blog
Webroot Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
博客园 - 三生石上(FineUI控件)
C
Comments on: Blog
G
GRAHAM CLULEY

博客园 - Rainbow

正向代理与反向代理(转) Java equals()和hashCode()的作用 java 内存模型 java 面向对象 java 集合 java string java 数据类型 Java 笔记 字符编码详解及由来(UNICODE,UTF-8,GBK)[转帖] C# 值类型和引用类型 说明 Android drawable文件夹含义 Android Button 单击事件 Android TextView setText 使用 转一篇博文 FTP 链接上,但是列不出目录 出现:425 Can't open data connection Android开发中插入新的Activity CentOS常用命令 CentOS5.6 python2.4.3升级到2.7.2 yum命令全集详解
Java中==和equals的区别
Rainbow · 2011-12-16 · via 博客园 - Rainbow

2011-12-16 19:18  Rainbow  阅读(551)  评论()    收藏  举报

Java中==和equals的区别

作为一个Java的初学者,刚开始学习时,我对于他们一直是出于很模糊的认识,没有清醒的认识它们本质上的区别,下面是在经过老师的解说和网上的资料统计后,我自己对于它们的认识:

在JAVA中,==与equals都有比较判断对象是否相等的作用,但具体用法却并不相同。==是运算符号,而equals则属于方法。

当==两边的对象属于基本类型时,==的作用仅是比较对象的值是否相等,如果相等返回true,否则返回false;当两边的对象属于引用数据类型时,==的作用是判断对象的内存地址是否一致,如果同时指向同一地址,则返回true,否则返回false.

equals两边对象只能属于引用数据类型,因为equals是方法,所以它是如何具体判断对象是否相等是根据程序而定的,equals是属于 object类,默认是判断内存地址是否相同,但在object的子类中可以重写equals方法,如在String类中只是比较对象内容是否一致,一致 则返回true,否则返回false

比如: String s1=“abc”;

String s2=“abc”;

s1.equals(s2) 是true 因为equals比较的是对象的内容

而 s1==s2 是false  因为当两边的对象属于引用数据类型时,==的作用是判断对象的内存地址是否相同,s1和s2创建了不同的对象,所以内存地址肯定不同。