[问题] 关于Scanner使用一问

楼主: mistus (mistus)   2014-11-15 22:57:08
大大们如果我问了蠢问题的话十分抱歉...
我花了不少时间翻网站爬文却解决不了问题只好跑来发问 - " -..
String input;
Scanner s = new Scanner(System.in);
input = s.next();
if(input =="A")
{System.out.print("OK");}
为什么我怎么输入条件都不会是true
Debug也是字串A没错阿OAQ ...
问了蠢问题的话抱歉Orz
作者: Kennyq (舞光十射~*)   2014-11-15 22:59:00
字串是物件, 要用equals两个字串A的reference不会相同,所以用==会是falseJ2SE-API-java.lang.Stringpublic boolean equals(Object anObject)Compares this string to the specified object.以上算是物件导向的基本...你还有很长远的路...
楼主: mistus (mistus)   2014-11-16 10:11:00
谢谢,, 虽然知道字串好像是大家共用放在内存的某个位置但没想到会有这种差异OAO.
作者: carylorrk (carylorrk)   2014-11-16 10:40:00
这跟那是两回事...
楼主: mistus (mistus)   2014-11-16 11:31:00
好 我研究研究XDD
作者: ghostduke (胡小小)   2014-11-17 10:37:00
input.equals("A") 试看看!?
作者: realmeat (真肉)   2014-11-17 14:04:00
"A".equals(input) 反著写更好, bj4
作者: gimmy731031 (yuancheng)   2014-11-20 23:29:00
因为input有可能是null,会抛exception...

Links booklink

Contact Us: admin [ a t ] ucptt.com