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,比较的是他们的值. 若用= ...
随机推荐
- error PRJ0003 : 生成“rc.exe”时出错
完美解决 visual studio 2008运行时 error PRJ0003 : 生成“rc.exe”时出错 步骤如下 : 1.运行vs2008安装程序,点击安装或删除程序.在“选择要安装的功能” ...
- vue图片点击放大功能
因项目需求(ui框架element-ui),需要实现图片的点击放大,还要能旋转以及上下切换.当时第一反应,element-ui好像没有这样的组件,就想过自己写,但是那个旋转翻页上下切换感觉有点麻烦,不 ...
- javaIO -- File源码
一.简介 文件和目录路径名的抽象表示. 用户界面和操作系统使用依赖于系统的路径名字符串命名文件和目录. 这个类提供了一个抽象的,独立于系统的层次化路径名的视图. 二.代码 (一).属性详情 //平台的 ...
- 转载:微信开放平台开发第三方授权登陆(二):PC网页端
微信开放平台开发第三方授权登陆(二):PC网页端 2018年07月24日 15:13:32 晋文子上 阅读数 12644更多 分类专栏: 微信开发 第三方授权登录 版权声明:本文为博主原创文章,遵 ...
- python爬虫框架scrapy 豆瓣实战
Scrapy 官方介绍是 An open source and collaborative framework for extracting the data you need from websit ...
- 【满k叉树】Perfect Tree
题目描述 Given a positive integer k, we define a rooted tree to be k-perfect, if and only if it meets bo ...
- java之集合那些事
集合概述: 集合和数组都可以保存多个对象,但是数组的长度不可变,集合可以保存数量变化的数据.java中的集合类主要由两个接口派生出,Collection和Map Collection接口和Iterat ...
- C语言之反汇编揭秘
title: 'C语言之反汇编揭秘' tags: 汇编与反汇编 categories: 汇编与反汇编 copyright: true abbrlink: 'b1c9' date: 2019-09-07 ...
- PHP数字转大写
最近在研究算法,发现了一个数字转大写的算法挺有意思,分享给大家看看: function get_amount($num){ $c1 = "零壹贰叁肆伍陆柒捌玖"; ...
- 使用IP代理初体验
在很多时候我们需要用到IP代理,比如爬虫.投票等 封IP是一种很常用的办法,所谓道高一尺.魔高一丈,IP代理应运而生 最简单的一段代码 static void Main(string[] args) ...