4 equals()和=

来源:互联网 发布:情头软件即刻 编辑:程序博客网 时间:2024/04/29 11:39

一 equals()和 ==

==是比较两个操作数的地址值。equals()是方法,其中String类型重写了自己的方法(比较的是String类型存储的字符串的值),其他的引用类型是继承Object类型的equals()方法(也就是==); 

2 Object类equals()源码部分:

public boolean equals(Object obj) {

        return (this == obj);

}

二 从内存角度分析

1 基本数据类型和引用类型的存储原则:基本数据类型和对象的引用存放在栈里面,对象本身(通过关键字new出来的)存放在堆里面

2 java的内存模型(即jvm的内存模型,因为内存是在JVM中分配的)

数据段中存储:static修饰的成员变量

代码段:用来存放从硬盘上读取的源程序代码。

4 == : 关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系。==比较的是值,基本类型就是本身的值,引用类型的值是:其关联的对象在堆内存中的地址值

5 注意String类型与一般的引用类型不一样,String重写了equals()方法


 

1 0
原创粉丝点击