张森炜的博客
在讲 == 和 equals 的区别前我们需要确认一下 Java 中的数据类型。在Java中有基本数据类型和引用数据类型两种。 1、8种基本数据类型: 四种整数类型(byte、short、int、long) 两种浮点数类型(float、double) 一种字符类型(char) 一种布尔类型(boolean) 2、引用数据类型:
除了上面我们说的 8 种基本数据类型外,其他在Java中出现的类型都是引用数据类型。如我们自己写了一个Dog类,而在上面说的8种基本数据类型中不包括Dog类型,所以Dog类型是隶属于 引用数据类型的。
==的理解:
要理解 == 我们学要从两个方面来理解:
(1) == 两边为 8 中基本数据类型时: 当 == 两边为8中基本数据类型时, == 判断的是两边变量中存放的内容是否相等。例:
上面的例子的运行结果是在控制台中输出"变量a和变量b中的值相等" 我们可以看出当 == 两边为8种基本数据类型时比较的时内容换句话说就是比较变量的值。
(2) == 两边为引用数据类型时: 当 == 两边为引用数据类型事,== 判断的是引用数据类型的对象的内存地址是否一样,如果 == 比较的内存地址一样表示 == 两边是同一个对象,否则 == 两边不是同一个对象。例:
equals的理解: equals的理解就容易多了,equals他是一个方法,而方法只有对象才能拥有,所以equals的左边一定是一个对象他的语法格式因该是: 对象名.equals(比较的内容) 例:
Powered by: BlogJava Copyright © 张森炜