首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java == 与 equal 的区别

new String("str"); System.out.println("==比较 :"+ (str1 == str2)); System.out.println("equal...String str4 = "str1"; System.out.println("==比较 :"+ (str3 == str4)); System.out.println("equal...以上的输出结果有误,应该是 false equal比较:true true equal比较:true 根据打印的可以发现使用equal比较时无论是使用自动装箱来实例化还是用new来实例化,返回的都true...:是用来比较两个对象内部的内容是否相等的,由于所有的类都是继承自java.lang.Object类的,所以如果没有对该方法进行覆盖的话,调用 的仍然是Object类的方法,而Objectequal...在java面向对象的处理我们一般在javabean中都要选择重写equals方法,使用hibernate后,我们要生成数据库的映射文件与实体 类,这是我们就最好在实体类中进行equals方法的重写,重写时我们可以根据自己的定义来实现该方法只要遵守那五条原则

81340
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    常见面试题之Javaequal和==的比较

    前言在Java,"=="和"equals()"用于比较对象,但它们的行为是不同的。"=="操作符在Java中用于比较两个对象的引用是否相等。换句话说,它检查两个引用是否指向内存的同一位置。...另一方面,"equals()"方法是在Object类定义的,用于比较两个对象的值是否相等。...“==”比较两个变量本身的值,即两个对象在内存的首地址。“equals()”比较字符串中所包含的内容是否相同。...== 比较符也是比较指向的对象是否相同的也就是对象在对内存的的首地址。String类重新定义了equals这个方法,而且比较的是值,而不是地址。所以是true。...但是在上面的例子类Value并没有覆盖Object的equals方法,而是继承了该方法,因此它就是被用来比较地址的,又v1和v2的所指向的对象不相同,故标记(1)处的v1.equals(v2)运行结果为

    24540

    比较java枚举成员使用equal还是==

    答案 二者皆对,如果你看过枚举的源码,你会发现在源码,equals也仅仅非常简单的 == 。...我使用 == ,因为无论如何,这个左值是可以为 null的 译者补充 java.lang.Enum Equals 代码: public final boolean equals(Object other...答案是肯定的,因为枚举有着严格的实例化控制,所以你可以用 == 去做比较符,这个用法,在官方文档也有明确的说明。 JLS 8.9 Enums 一个枚举类型除了定义的那些枚举常量外没有其他实例了。...在枚举final clone方法确保枚举常量从不会被克隆,而且序列化机制会确保从不会因为反序列化而创造复制的实例。枚举类型的反射实例化也是被禁止的。...(equals()方法在枚举类是一个final方法,在参数和返回结果时,很少调用父类的equals()方法,因此是一种恒等的比较。) 什么时候 == 和 equals 不一样?

    2.2K20
    领券