java 中判断字符串是否相等

周末老师让写一个 猜数字的java小游戏,随机生成一个不同的四位数,然后根据用户的输入来判断 ,给出相应的结果

每次都是输入4位数字,按照标准,
分为数字存在(记录为B);
数字存在且位置正确(记录为A)

例如: 生成数字1234
竞猜数字: 1367(提示竞猜结论: 1A1B)

 然后我结果定义的返回类型是一个字符串,然后用一个String jieguo来接收,在最后判断是否猜中数字时,应该和字符串"4A"进行比较,

开始我直接就用if(jieguo=="4A")来判断两个字符串是否相同,但是发现不行。

于是找度娘 发现了其中的不同:

比较字符串时,如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。

所以就有了 equals();

例如: 
String A=new String( "aaa" ); 
String B=new String( "aaa" ); 
这两个字符串当然应该是相等的。 
如果用表达式A==B,则该表达式的值为false 
如果用表达式A.equals(B),则该表达式的值为true ;

equals()比较的是对象的内容(区分字母的大小写格式).

posted @ 2017-04-16 22:28  玛旁雍错  阅读(8913)  评论(0编辑  收藏  举报