1. 操作符”==”用来比较两个操作元是否相等,这两个操作元既可以是基本类型,也可以是引用类型。
例如:int a1=1,a2=3;
boolean b1=a1==a2; //”==”的操作元为基本类型,b1值为false
String str1=”Hello”,str2=”World”;
boolean b2=str1==str2; //”==”的操作元为引用类型,b2的值为false
2. 当操作符“==”两边都是引用类型变量时,这两个引用变量必须都引用同一个对象,结果才为true,否则为false.
如:
3. 当“==”用于比较引用类型变量时,“==”两边的变量被显式声明的类型必须是同种类型或有继承关系。
class Creature {
Creature() {
}
}
class Animal extends Creature {
Animal() {
}
}
class Dog extends Animal {
Dog() {
}
}
class Cat extends Animal {
Cat() {
}
}
public class IntegerTest {
public static void main(String[] args) {
Dog dog = new Dog();
Creature creature = dog;
Animal animal = new Cat();
System.out.println(dog == animal);
System.out.println(dog == creature);
}
}
结果为:false
true
5.只要两个对象都是同一个类的对象,并且它们变量属性相同,则结果为true,否则为false.
class TestInteger{
private String name;
TestInteger(String name){
this.name=name;
}
boolean equal(Object o){
if(this==o){
return true;
}
if(!(o instanceof TestInteger)){
return false;
}
final TestInteger other=(TestInteger)o;
if(this.name.equals(other.name)){
return true;
}
else{
return false;
}
}
}
public class TestIntegerOne {
public static void main(String[] args) {
TestInteger person1=new TestInteger("Tom");
TestInteger person2=new TestInteger("Tom");
System.out.println(person1==person2);
System.out.println(person1.equal(person2));
}
}
结果为:false
true
分享到:
相关推荐
详细介绍和讲解Java中的==和equals区别
Java中的==与equals()实例方法Java中测试两个变量是否相等的方法有两个,一个是用==运算符,另一个就是object类提供的equals()方法。2
能够加强对java中equals与==区别的理解。
关于Java中==的用法与equals的用法,醉重要的是比较它们的不同之处
主要介绍了Java中==运算符与equals方法的区别及intern方法详解的相关资料,需要的朋友可以参考下
java中比较值大小,==和equals的区别,基本数据类型和引用数据类型比较值方法
==和equals方法究竟有什么区别? == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 ...
主要介绍了Java中==与equals的区别小结,本文总结结论:== 与 equals()比较的内容是不同的,equals()方式是String类中的方法,它用于比较两个对象引用所指的内容是否相等,而 == 比较的是两个对象引用的地址是否相等,...
java中equals和==的区别.doc java中equals和==的区别.doc
前言 对于开发的程序员小伙伴,...equals:在Object中模式采用==比较,通常会重写 String对象重写了 equals,比较的是变量值 从上面我们笼统的来说明了一下两者的不同,那么接下来我们看看具体的区分 对象类型的比较
java中的比较运算符== 与 equals()方法 值类型、引用类型
主要介绍了java基础之 “==”与“equals”区别详解,需要的朋友可以参考下
【Java面试题】equals与==的区别
简单介绍java中的“==”和equals
主要介绍了java 中equals和==的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本篇文章介绍了,在java中"==" 与equals方法的使用及其实例,需要的朋友可以参考下
用此blog记录我学习的过程,文中若有不恰当的地方,还望友情指出互相学习。 一、== 主要有两种比较形式 基本数据类型(也称原始数据类型):byte,...Java中所有的类都继承自Object类,equals()方法就在Object类中被
下面小编就为大家带来一篇Java中==符号与equals()的使用详解(测试两个变量是否相等)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
书上的一个例子说明了“==”与equals()方法的区别。 以下是例子代码(摘自《Java核心技术》卷一): Employee.java package equals; import java.time.*; import java.util.Objects; /* * 一个{@Employee}代表