「java的equals方法」java中equals方法的用法以及==的用法

博主:adminadmin 2022-12-27 22:21:08 77

本篇文章给大家谈谈java的equals方法,以及java中equals方法的用法以及==的用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中equals方法详解有哪些?

因为你的Value类没有重写equals 方法,这个方法是在Object类中定义的,是可以自己按照需要进行重写的,如果没有重写,其默认的逻辑是比较两个相互equals 的对象的内存地址是不是同一个地址,第一个输出的时候v1,v2都是new出来的,所以v1和v2在堆中是不同的内存地址,所以equals结果为false

第二个输出,其调用的是Integer类的equals,Integer类中有重写原有equals方法的逻辑,其逻辑是比较两个Integer对象中封装的数字的值,如果相同就返回true,因此第二个输出true

第三个输出false原理同第一个,两个对象之间使用==比较的就是内存地址,因为都是new出来的,堆内存地址不同,所以输出false

简单来讲,如果来自同一个类的两个对象,如果没有重写equals方法的逻辑,其==结果和equals结果是相同的,如果有重写equals方法,则==和equals结果可能会不同

java 中String的equals()方法是什么?

java.lang.String.equals() 方法比较字符串与指定的对象。其结果是true当且仅当参数不为null,并且是一个String对象,这个对象表示相同的字符序列

声明

以下是声明java.lang.String.equals()方法

public boolean equals(Object anObject)

参数

anObject -- 这是这个String对比较的对象

返回值

此方法返回true如果给定对象代表一个字符串,这个字符串,否则返回false

异常

NA

实例

下面的例子显示使用的java.lang.String.equals()方法

package com.pieryon;

import java.lang.*;

public class StringDemo {

public static void main(String[] args) {

String str1 = "sachin tendulkar";

String str2 = "amrood admin";

String str3 = "amrood admin";

// checking for equality

boolean retval1 = str2.equals(str1);

boolean retval2 = str2.equals(str3);

// prints the return value

System.out.println("str2 is equal to str1 = " + retval1);

System.out.println("str2 is equal to str3 = " + retval2);

}

}

编译和运行上面的程序,这将产生以下结果:

str2 is equal to str1 = false

str2 is equal to str3 = true

java中的equals

"admin" 这是一个字符串对象~ 是对象自然就是equals 方法

String s ="admin"; 这么写不用我多少你肯定知道这是啥意思

"admin"; 写在这样一样可以通过编译 这里的效果就和 new String("admin"); 是完全一样的

"admin".equals(username) "123".equals(password)

这句话的意思是 username的值必须是 admin password的值必须是123 必须满足这两个条件 才能执行if后边的语句

JAVA中的equal方法的格式和用法?

java中的是equals,没有equal,equals比较的是内容,只要值相同就是true。

如:

String

str

=

new

String("aaa");

String

str1

=

new

String("aaa");

boolean

bl

=

str.equals(str1);

结果就是:true。

备注:但是如果比较的是str==str1,这个结果就是false(地址引用不同)。

JAVA中equals的用法

String类对equals()方法进行了覆盖,只要引用指向的对象的内容是一样的就认为他们相等。你可以看一下String的equals()的源码:

   public boolean equals(Object anObject) {

        if (this == anObject) {

            return true;

        }

        if (anObject instanceof String) {

            String anotherString = (String)anObject;

            int n = value.length;

            if (n == anotherString.value.length) {

                char v1[] = value;

                char v2[] = anotherString.value;

                int i = 0;

                while (n-- != 0) {

                    if (v1[i] != v2[i])

                        return false;

                    i++;

                }

                return true;

            }

        }

        return false;

    }

而Object类默认的equals()方法就是比较两个引用指向的对象本身,如果指向同一个对象,那就认为他们是相等的,否则不相等,除非你像String类那样对其进行覆盖重写。

java的equals方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中equals方法的用法以及==的用法、java的equals方法的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-27,除非注明,否则均为首码项目网原创文章,转载请注明出处。