[問題] 關於Scanner使用一問

看板java作者 (mistus)時間9年前 (2014/11/15 22:57), 編輯推噓0(0013)
留言13則, 6人參與, 最新討論串1/1
大大們如果我問了蠢問題的話十分抱歉... 我花了不少時間翻網站爬文卻解決不了問題只好跑來發問 - " -.. String input; Scanner s = new Scanner(System.in); input = s.next(); if(input =="A") {System.out.print("OK");} 為什麼我怎麼輸入條件都不會是true Debug也是字串A沒錯阿OAQ ... 問了蠢問題的話抱歉Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.130.109 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1416063431.A.621.html

11/15 22:59, , 1F
字串是物件, 要用equals
11/15 22:59, 1F

11/15 23:02, , 2F
兩個字串A的reference不會相同,所以用==會是false
11/15 23:02, 2F

11/15 23:12, , 3F
J2SE-API-java.lang.String
11/15 23:12, 3F

11/15 23:12, , 4F
public boolean equals(Object anObject)
11/15 23:12, 4F

11/15 23:13, , 5F
Compares this string to the specified object.
11/15 23:13, 5F

11/15 23:14, , 6F
以上算是物件導向的基本...你還有很長遠的路...
11/15 23:14, 6F

11/16 10:11, , 7F
謝謝,, 雖然知道字串好像是大家共用放在記憶體的某個位置
11/16 10:11, 7F

11/16 10:12, , 8F
但沒想到會有這種差異OAO.
11/16 10:12, 8F

11/16 10:40, , 9F
這跟那是兩回事...
11/16 10:40, 9F

11/16 11:31, , 10F
好 我研究研究XDD
11/16 11:31, 10F

11/17 10:37, , 11F
input.equals("A") 試看看!?
11/17 10:37, 11F

11/17 14:04, , 12F
"A".equals(input) 反著寫更好, bj4
11/17 14:04, 12F

11/20 23:29, , 13F
因為input有可能是null,會拋exception...
11/20 23:29, 13F
文章代碼(AID): #1KPsd7OX (java)