課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
對equals()不是很理解,為什么不能用==,能解釋一下
2019-01-05
源自:Java入門第一季(IDEA工具)升級版 4-4
正在回答
這么說吧 比如1號(籃球員)和1號(足球員),他們的值是相等的,但對象不同,所以1號(籃球員)==1號(足球員)為float。而題目中要求僅僅是比較內容相同,而內容就是是否為1號(球員)所以用equals,僅僅比較內容是否相同,是否為1號,而不管對象是什么?,F階段還沒有學習如何創建對象,所以用==雖然也可以,但不夠嚴謹,還是有漏洞的。
關于Java中equals和==的詳解,看完保證你沒有任何問題https://zhangjia.tv/526.html
if(sex == "女")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? System.out.println("進入女子決賽組");
? ? ? ? ? ? }
這里是可以這樣寫的,因為String sex="女"這種形式聲明這樣的一個字符串后,JVM會在常量池中先查找有有沒有一個值為"女"的對象,如果有,就會把它賦給當前引用.即原來那個引用和現在這個引用指點向了同一對象,如果沒有,則在常量池中新創建一個"女",下一次如果有String sex1 = "女";又會將sex1指向"女"這個對象,即以這形式聲明的字符串,只要值相等,任何多個引用都指向同一對象."=="比較的是操作符兩端的操作數是否是同一個對象,這里也是可以使用的
如果先吧sex的值賦值給另一個量,然后再去判斷這兩個是否相等 ,不是也一樣么?
說簡單點就是==比較的是值(對象的內存地址)? ?equals比較的是是否為同一個對象
你可以理解為? ?1==1? ?就是說這兩個數字比較? ? ?1.equals("1")? ?這個就是"1"這個東西是否和"1"這個東西一樣
==比較的是兩個對象的地址
equals比較的是兩個對象的內容
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
3 回答不是很理解這里,誰能解釋一下嗎?
2 回答老師能不能解釋下
3 回答請大佬解釋一下不是很理解他的代碼含義
3 回答請解釋為什么要加.equals
2 回答不是很懂解釋下謝謝
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-02-11
這么說吧 比如1號(籃球員)和1號(足球員),他們的值是相等的,但對象不同,所以1號(籃球員)==1號(足球員)為float。而題目中要求僅僅是比較內容相同,而內容就是是否為1號(球員)所以用equals,僅僅比較內容是否相同,是否為1號,而不管對象是什么?,F階段還沒有學習如何創建對象,所以用==雖然也可以,但不夠嚴謹,還是有漏洞的。
2019-01-25
關于Java中equals和==的詳解,看完保證你沒有任何問題https://zhangjia.tv/526.html
2019-01-22
if(sex == "女")
? ? ? ? ? ? {
? ? ? ? ? ? ? ? System.out.println("進入女子決賽組");
? ? ? ? ? ? }
這里是可以這樣寫的,因為String sex="女"這種形式聲明這樣的一個字符串后,JVM會在常量池中先查找有有沒有一個值為"女"的對象,如果有,就會把它賦給當前引用.即原來那個引用和現在這個引用指點向了同一對象,如果沒有,則在常量池中新創建一個"女",下一次如果有String sex1 = "女";又會將sex1指向"女"這個對象,即以這形式聲明的字符串,只要值相等,任何多個引用都指向同一對象."=="比較的是操作符兩端的操作數是否是同一個對象,這里也是可以使用的
2019-01-21
如果先吧sex的值賦值給另一個量,然后再去判斷這兩個是否相等 ,不是也一樣么?
2019-01-20
說簡單點就是==比較的是值(對象的內存地址)? ?equals比較的是是否為同一個對象
你可以理解為? ?1==1? ?就是說這兩個數字比較? ? ?1.equals("1")? ?這個就是"1"這個東西是否和"1"這個東西一樣
2019-01-05
==比較的是兩個對象的地址
equals比較的是兩個對象的內容