Java易混小知识——equals方法和==的区别
一、equals方法和==的区别
1.equals是String对象的方法,可以通过".“调用。
2.== 是一个运算符。
二、常用的比较用法
1、基本数据类型比较。
equals和==都比较两个数值 是否相等。相等即为true,不相等则为false。
2、引用对象的比较。
equals和==都比较栈内存中的地址是否相等。相等即为true,不相等则为false。
三、易错点
1、String是一个特殊的引用类型。对于两个字符串的比较,不管是==还是equals这两者比较的都是字符串是否相同。
2、当创建两个String对象时,内存中的地址是不相同的,你可以赋相同的值。
所以字符串的内容相同。引用的地址不一定相同。
3、基本数据类型比较(String除外)==和equals都是比较数值。
四、例子演示
比较String对象:Ex
public class TestEquals {
public static void main(String args[]){
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println("s1 == s2的结果是:"+(s1 == s2));//false
System.out.println("s1.equals(s2)的结果是:"+s1.equals(s2));//true
}
}
基本数据类型此处省略(两者效果一样)。
Java易混小知识——equals方法和==的区别的更多相关文章
- Java中的“==操作符”和equals方法有什么区别
Java中的"=="和equals方法究竟有什么区别? 1.==操作符 "=="操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的 ...
- [java] 更好的书写equals方法-汇率换算器的实现(4)
[java] 更好的书写equals方法-汇率换算器的实现(4) // */ // ]]> [java] 更好的书写equals方法-汇率换算器的实现(4) Table of Content ...
- 关于java中的hashcode和equals方法原理
关于java中的hashcode和equals方法原理 1.介绍 java编程思想和很多资料都会对自定义javabean要求必须重写hashcode和equals方法,但并没有清晰给出为何重写此两个方 ...
- equals方法和==的区别
equals方法和==的区别 首先大家知道,String既可以作为一个对象来使用,又可以作为一个基本类型来使用.这里指的作为一个基本类型来使用只是指使用方法上的,比如String s = &quo ...
- K:java中的hashCode和equals方法
hashCode和equals方法是Object类的相关方法,而所有的类都是直接或间接的继承于Object类而存在的,为此,所有的类中都存在着hashCode和equals.通过翻看Object类 ...
- Java 基本数据类型 及 == 与 equals 方法的区别
Java数据类型分为基本数据类型与引用数据类型. 1 基本数据类型 byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个字 ...
- Java 重写hashCode 方法和equals方法
package Container; import java.util.HashSet; import java.util.Iterator; /* Set 元素是无序的(存入和取出的顺序不一定一致) ...
- Java:Object类的equals()方法 如何编写一个完美的equals()方法
一 代码实例: package freewill.objectequals; /** * @author freewill * @see Core Java page161 * @desc get ...
- 简述java中equals()方法和==的区别
==与equals的主要区别是: ==: ==常用于比较原生类型(基本数据类型):byte,short,char,int,long,float,double,boolean,比较的是他们的值. 若用= ...
随机推荐
- Python 日志文件处理
今天想把 Python 项目中的日志 保存到文件中. 找到了方法.非常简单 https://www.cnblogs.com/nancyzhu/p/8551506.html 1. logging.bas ...
- (4.36)sql server中的waitfor
关键词:waitfor SQL有定时执行的语句 WaitFor,可以写到一个存储过程中再执行一次 语法:WaitFor{Delay 'time'|Time 'time} Delay后面的时间为延迟多少 ...
- Fiddler之打断点
1..Fiddler可以修改以下请求 --Fiddler设置断点,可以修改HTTP请求头信息,如修改Cookie,User-Agent等 --可以修改请求数据,突破表单限制,提交任意数字,如充值最小1 ...
- jmeter XLSX 读取
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFSheet; i ...
- 认识 Spring 框架(一)
认识 Spring 框架 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP( ...
- 第7章学习小结 不使用STL-map过实践题:QQ帐户的申请与登陆
目录: 一:查找的概念与术语 二:折半查找 三:二叉排序树 四:平衡二叉树 五:B-树 六:B+树 七:散列表 八:实践题:QQ帐户的申请与登陆 九:自我总结 一.查找的概念与术语 (一)查找表 查找 ...
- [MA] 有关 Likelihood
当提到 Linear Regression 或是 Logistic regression 等关键词时,都会涉及一个概念,叫做 Likelihood Function 以及 Maximum Likeli ...
- pandas数据结构之Series笔记
对Series的理解也源于对其相关的代码操作,本次仅贴一些代码来加深理解以及记忆 import pandas as pd import numpy as np s = pd.Series(np.ran ...
- System函数的使用说明
#inlcude<stdlib.h> int system(const char* command) 功能:在已经运行的程序中调用另一个外部程序 参数:外部可执行程序的名字 返回值:不同系 ...
- WPF入门(4)——资源
引用<深入浅出WPF>对资源的解读: 每个WPF的界面元素都具有一个名为Resources的属性,这个属性继承自FrameworkElement类,其类型为ResourceDictiona ...