看板 java 關於我們 聯絡資訊
大大們如果我問了蠢問題的話十分抱歉... 我花了不少時間翻網站爬文卻解決不了問題只好跑來發問 - " -.. 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
Kennyq: 字串是物件, 要用equals 11/15 22:59
Kennyq: 兩個字串A的reference不會相同,所以用==會是false 11/15 23:02
Kennyq: J2SE-API-java.lang.String 11/15 23:12
Kennyq: public boolean equals(Object anObject) 11/15 23:12
Kennyq: Compares this string to the specified object. 11/15 23:13
Kennyq: 以上算是物件導向的基本...你還有很長遠的路... 11/15 23:14
mistus: 謝謝,, 雖然知道字串好像是大家共用放在記憶體的某個位置 11/16 10:11
mistus: 但沒想到會有這種差異OAO. 11/16 10:12
carylorrk: 這跟那是兩回事... 11/16 10:40
mistus: 好 我研究研究XDD 11/16 11:31
ghostduke: input.equals("A") 試看看!? 11/17 10:37
realmeat: "A".equals(input) 反著寫更好, bj4 11/17 14:04
gimmy731031: 因為input有可能是null,會拋exception... 11/20 23:29