<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            Java中的== 和equals()方法詳解與實例教程

            時間:2025-11-09 13:09:47 java語言 我要投稿

            Java中的== 和equals()方法詳解與實例教程

              Java中的== 和equals()方法有什么區別呢?下面是由百分網小編為大家整理的Java中的== 和equals()方法詳解與實例教程,喜歡的可以收藏一下!了解更多詳情資訊,請關注應屆畢業生考試網!

              Java中的== 和equals()方法:

              Java中的數據類型,可分為兩類:

              1.基本數據類型,也稱原始數據類型。

              byte,short,char,int,long,float,double,boolean,他們之間的比較,應用雙等號(==),比較的是他們的值。

              2.引用數據類型(類)

              當它們用(==)進行比較的時候,比較的是他們在內存中的存放地址,所以,除非是同一個new出來的對象,他們的比較后的結果為true,否則比較后結果為false。

              Java當中所有的類都是繼承于Object這個基類的,在Object中的基類中定義了一個equals()的方法,這個方法的初始行為是比較對象的內存地址,但在一些類庫當中這個方法被覆蓋掉了,如String,Integer,Date在這些類當中equals有其自身的實現,而不再是比較類在堆內存中的存放地址。

              對于引用數據類型之間進行equals比較,在沒有覆寫equals方法的情況下,他們之間的比較還是基于他們在內存中的存放位置的地址值的,因為Object的equals方法也是用雙等號(==)進行比較的,所以比較后的結果跟雙等號(==)的結果相同。

              Object中的equals()方法

              publicbooleanequals(Objectobj){

              return(this==obj);

              }

              舉個實例:

              packageorg.java.test;

              publicclassPerson{

              privateintage;

              privateStringname;

              publicintgetAge(){

              returnage;

              }

              publicvoidsetAge(intage){

              this.age=age;

              }

              publicStringgetName(){

              returnname;

              }

              publicvoidsetName(Stringname){

              this.name=name;

              }

              publicPerson(intage,Stringname){

              this.age=age;

              this.name=name;

              }

              publicPerson(){

              }

              @Override

              publicinthashCode(){

              finalintprime=31;

              intresult=1;

              result=prime*result+age;

              result=prime*result+((name==null)?0:name.hashCode());returnresult;}

              @Override

              publicbooleanequals(Objectobj){

              if(this==obj)

              returntrue;

              if(obj==null)

              returnfalse;

              if(getClass()!=obj.getClass())

              returnfalse;

              Personother=(Person)obj;

              if(age!=other.age)

              returnfalse;

              if(name==null){

              if(other.name!=null)

              returnfalse;

              }elseif(!name.equals(other.name))

              returnfalse;

              returntrue;

              }

              }

              MainTest.java[java]view plaincopyprint?

              packageorg.java.test;

              publicclassMainTest{

              publicstaticvoidmain(String[]args){

              Personp1=newPerson(99,"A");

              Personp2=newPerson(99,"A");

              Personp3=p1;

              System.out.println(p1==p2);/pic/p>

              System.out.println(p1==p3);/pic/p>

              System.out.println(p1.equals(p2));

              /pic/p>

              /pic/p>

              Strings3=newString("hello");

              System.out.println(s1==s2);/pic/p>

              System.out.println(s1==s3);/pic/p>

              System.out.println(s1.equals(s2));/pic/p>

              System.out.println(s1.equals(s3));/pic/p>

              }

              }

            【Java中的== 和equals()方法詳解與實例教程】相關文章:

            JAVA中toString方法詳解03-06

            詳解Java中的迭代和遞歸03-21

            java中BigDecimal的操作方法詳解02-14

            Java中Class對象詳解03-12

            詳解Java8的default方法02-26

            Java中的對象與引用知識詳解11-06

            Java中的clone方法11-07

            關于基于Java字符串==與 equals09-24

            Java環境變量配置方法詳解09-23

            • 相關推薦

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院