java中==与equals
==
==可用于比较基本类型与引用类型,对于基本类型变量比较的是其存储的值是否相等,对于引用类型则比较的是其是否指向同一个对象。
如:
int a = 10;
int b = 20;
double d = 10.0;
a==b的结果为false,由于a与b的值不相等;
a==d的结果为true,由于a与d的值相等。
Keyboard objOne = new Keyboard();
Keyboard objTwo = new Keyboard();
Keyboard objThree = objOne;
objOne == objTwo的结果为false,由于objOne与objTwo指向不同的对象;
objOne == objThree的结果为true,由于objOne与objThree指向同一个对象。
- equals
equals只能用于引用类型变量的比较,如果没有对equals方法进行重写,比较的是其是否指向同一个对象。
如:
Keyboard objOne = new Keyboard();
Keyboard objTwo = new Keyboard();
Keyboard objThree = objOne;
objOne.equals(objTwo)的结果为false,由于objOne与objTwo指向不同的对象;
objOne.equals(objThree)的结果为true,由于objOne与objThree指向同一个对象。
- String类对equals方法进行了重写,用来比较指向的字符串对象所存储的字符串是否相等
如:
String str1 = new String("hello");
String str2 = new String("hello");
String str3 = new String("good");
str1.equals(str2)的结果为true,由于str1与str2所指向的字符串对象存储的字符串相等;
str1.equals(str3)的结果为false,由于str1与str3所指向的字符串对象存储的字符串不相等。
上例中str1==str2的结果则为false,因为str1、str2指向不同的对象。
又如:
String str4 = "hello";
String str5 = "hello";
str4 == str5的结果为true,这里是由于str4、str5指向同一个字符串对象。
也即是说只创建了一个“hello”对象,与new方式每次都创建一个新的对象不同。
java中==与equals的更多相关文章
- 浅谈Java中的equals和==(转)
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...
- 浅谈Java中的equals和==
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...
- Java中的equals和hashCode方法
本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要 ...
- Java中==、equals、hashcode的区别与重写equals以及hashcode方法实例(转)
Java中==.equals.hashcode的区别与重写equals以及hashcode方法实例 原文地址:http://www.cnblogs.com/luankun0214/p/4421770 ...
- java集合(3)- Java中的equals和hashCode方法详解
参考:http://blog.csdn.net/jiangwei0910410003/article/details/22739953 Java中的equals方法和hashCode方法是Object ...
- 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别
Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: String str1 = new String(" ...
- Java中的equals和hashCode方法详解
Java中的equals和hashCode方法详解 转自 https://www.cnblogs.com/crazylqy/category/655181.html 参考:http://blog.c ...
- 关于Java中的equals方法
关于Java中的equals方法 欢迎转载,但是请填写本人的博客园原址https://www.cnblogs.com/JNovice/p/9347099.html 一.什么是equals方法 equa ...
- 沉淀再出发:java中的equals()辨析
沉淀再出发:java中的equals()辨析 一.前言 关于java中的equals,我们可能非常奇怪,在Object中定义了这个函数,其他的很多类中都重载了它,导致了我们对于辨析其中的内涵有了混淆, ...
- 转:Java中的equals和hashCode方法详解
转自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要重写这 ...
随机推荐
- 自动化测试-21.RobotFrameWork配置安装
更新pip python -m pip install --upgrade pip 1安装robotframework --pip install robotframework 2. 安装支持框架的运 ...
- Java编程中必须了解 十几个代码段
向文件末尾添加内容 字符串有整型的相互转换 转字符串到日期 java.util.Date = java.text.DateFormat.getDateInstance().parse(date Str ...
- system v共享内存与信号量综合
ipc.h #include <sys/types.h> #include <unistd.h> #include <sys/ipc.h> #include < ...
- Selenium之ActionChains (二)
今天,为大家介绍的是标题中的三个新方法,以及一个老方法 以下方法都需要操作一个名为Keys的包,先来简单认识下 Keys key_down(value,element),key_up(value,el ...
- 异常值检测 —— MAD(median absolute deviation)
MAD 定义为,一元序列 Xi" role="presentation">XiXi 同其中位数偏差的绝对值的中位数(deviation,偏差本身有正有负): MAD ...
- Python学习笔记第十九周
目录: 一.路由系统URL 1.Django请求生命周期 2.创建Django project 3.配置 4.编写程序 二.视图 三.模板 四.ORM操作 内容: 一.URL 1.Django请求生命 ...
- Ubuntu16.04阿里云源
16.04源 deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse deb http://m ...
- YII2.0使用ActiveForm表单(转)
Controller控制器层代码 <?php namespace frontend\controllers; use frontend\models\UserForm; class UserCo ...
- Scrapy对接selenium+phantomjs
1.创建项目 :Jd 2.middlewares.py中添加selenium 1.导模块 :from selenium import webdriver 2.定义中间件 class seleniumM ...
- url的使用
1.urls.py 默认是在主目录中,主路由配置文件,会包含最基本的地址映射,并且每个地址访问都必须要先经过该文件. 作用:通过 urls中定义好的地址找到对应的视图处理函数 urlpatterns ...