Java中==和equals简介说明
下文笔者讲述java中“==和equals”的简介说明,如下所示
==和equals简介
==功能: 用于判断两个对象的内存地址是不是相等。 equals()功能: 用于判断两个对象是否相等。有两种使用情况: 1.类中为重写equals()方法,其效果同“==”相同 2.类中为重写equals()方法,则按照重写后的equals逻辑对其进行判断例:
public class testClass { public static void main(String[] args) { String a = new String("java265"); // a 为一个引用 String b = new String("java265"); // b为另一个引用,对象的内容一样 String x = "java265"; // 放在常量池中 String y = "java265"; // 从常量池中查找 if (x == y) // true System.out.println("x==y"); if (a == b) // false,非同一对象 System.out.println("a==b"); if (a.equals(b)) // true System.out.println("aEQb"); if (99 == 99.0) { // true System.out.println("true"); } } }
注意事项: 1.String中的equals方法已被重写 因为object的equals方法是比较的对象的内存地址 String的equals方法比较的是对象的值。 2.创建String类型的对象时 JVM虚拟机先在常量池中查找有没有已经存在的值和要创建的值相同的对象 如果有就把它赋给当前引用 如果没有就在常量池中重新创建一个String对象
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。