Java的数据类型以及equals和==的区别
2017-03-08 16:10
302 查看
Java的数据类型分为两种:基本数据类型(值类型)和复合数据类型(引用类型)
注:基本数据类型分为4类8种,String属于引用类型中的类
在不同的数据类型中==和equals代表的含义不同:
String为复合数据类型中的类,因为equals方法被重写了:
String的equals比较的为值,String的==比较的是地址
注:基本数据类型分为4类8种,String属于引用类型中的类
在不同的数据类型中==和equals代表的含义不同:
在基本数据类型中,没有eqauls,==代表值比较 |
在复合数据类型中,当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址, 除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了 对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的。 |
String的equals比较的为值,String的==比较的是地址
相关文章推荐
- Java中数据存储在哪?以及equals和==的区别
- 读thinking in java的收获(一)——java中的引用,c++引用与c指针的区别与联系以及java的数据类型
- java中创建String类型对象的两种方式以及在使用equals()和“==”两种方法时的区别
- Java数据类型及equals、==区别
- JAVA基础知识回顾(基本数据类型,switch参数,equals与==的区别,Object有哪些公用方法)-1
- Java中的数据类型以及数据类型转换
- Java第五课 Java的常用包,"=="和"equals"的用法,基本数据类型与引用类型,对象的克隆。
- 浅谈Java中数据在内存中的状态,以及String、StringBuffer、==、equals、数组等问题
- 序列化对象到Xml文件以及反序列话Xml文件到对象(序列化数据到8个Java原型类型)
- java与C++的区别之基本数据类型
- Java各种数据类型详细介绍及其区别
- 再学Java基础(2)标识符,变量,数据类型。以及 if与for语句
- Java学习笔记(一) Java基础以及数据类型介绍
- javascript&java数据类型以及数组的初始化比较
- Java中的数据比较(再谈==与equals的区别)
- Java各种数据类型详细介绍及其区别
- Java中的String str="abc"; String str=new String("abc");和String str = new String();的区别以及==与equals()的不同。
- Java中的String str="abc"; String str=new String("abc");和String str = new String();的区别以及==与equals()的不同。
- jdbc对SqlServer以及java数据类型映射表(很有用的)
- java基础之 “==”和“ equals”以及instanceof的区别