1.==
(1)基本数据类型:比较值
基本类型有8种:
整数型:byte 字节类型:1个字节(8位)
short 短整型:2个字节(16位)
int 整数类型:4个字节(32位) Java默认
long 长整型:8个字节(64位)
浮点型:float 浮点型(单精度):4个字节(32位)
double 双精度类型(双精度):8个字节(64位) Java默认
逻辑型:boolean 布尔类型:1/8个字节(1位)
字符型:char 字符型:2个字节(16位)
注意: 基本类型在栈中可以直接分配内存的是
引用类型的引用在栈中,它的对象在堆中
基本类型:
基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。
引用类型:
是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
(2)复合数据类型:比较在内存中的地址,除非是同一个new出来的对象
2.equals:在Java中的类都是继成Object这个基类,在Object这个基类中定义了equals的方法,源代码时比较内存地址的,但在一些类库中是覆盖了该方法,如String、Integer、Date等,比较的是它们的内容。
Java String类的equals源码: https://blog.csdn.net/helllochun/article/details/45074179
具体实例:http://www.cnblogs.com/zhxhdean/archive/2011/03/25/1995431.html