第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java里為什么數(shù)字可以用比較運算符==比較,而字符串不可以

java里為什么數(shù)字可以用比較運算符==比較,而字符串不可以

哈尼露易絲 2016-06-13 12:57:00
java里為什么數(shù)字可以用比較運算符==比較,而字符串不可以
查看完整描述

2 回答

已采納
?
慕萊塢9220042

TA貢獻377條經(jīng)驗 獲得超508個贊

你好:

  1. 原始類型(int, long, float, double, short, char等)可又直接使用==比較:
    如:
    int a = 1, b = 1;
    a == b結(jié)果為true

  2. 引用類型(也就是對象)其實也可又用==比較,不過這里的比較不是比較內(nèi)容了,而是比較對象在內(nèi)存中的地址,也就相當于C/C++中的指針。所以
    String s = "abc", s1 = s;
    這時候 s == s1結(jié)果為true,因為它們指向內(nèi)存中的同一個地址,而
    String s = "abc";
    String s1 = "abc";
    這兩條語句看似都把"abc"同時賦給了s和s1,但實際上在內(nèi)存中是分配了兩塊內(nèi)存,一塊存放"abc",另一塊存放另一個"abc",s和s1的地址不同,所以
    s == s1結(jié)果是false
    那么如何比較它們的內(nèi)容而不是比較地址呢,java的基類Object中有equals方法,用于比較兩個對象的內(nèi)容是否相同,只要子類實現(xiàn)了該方法,就可以使用此方法進行比較,String這么強大的類當然實現(xiàn)了該方法,所以比較兩個字符串是否相同應該使用下面的方法:
    s.equals(s1)或者s1.equals(s),這兩種方法的結(jié)果都是true

    望采納!

查看完整回答
3 反對 回復 2016-06-13
?
冰山點水

TA貢獻109條經(jīng)驗 獲得超149個贊

簡單的講,java中的8種基本數(shù)據(jù)類型都是在棧內(nèi)存中分配空間,==實際上就是比較他們的值是否相等。而除開這8種基本數(shù)據(jù)類型,其他的都屬于引用類型,創(chuàng)建的對象均是在堆內(nèi)存中分配空間,這時候==實際上就是比較他們的內(nèi)存地址是否相同?;緮?shù)據(jù)類型比值,引用數(shù)據(jù)類型比地址。現(xiàn)在你就這么簡單的了解就行,當你學到后面便會深入了解這些東西的!

查看完整回答
3 反對 回復 2016-06-13
  • 2 回答
  • 0 關注
  • 1956 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號