为了账号安全,请及时绑定邮箱和手机立即绑定

哪里错呢??一定要用equals???

public class HelloWorld {
    public static void main(String[] args) {
        int score = 94;
        String sex = "女";
        
        if(score  >= 80){
            if(sex = "女"){
                System.out.println("达到并加入女子组决赛");
            }else{
                System.out.println("达到并加入男子组决赛");
            }
        }else{
            System.out.println("未达到80分");
        }
        
        
    }
}

正在回答

4 回答

从知乎粘过来的。。。

这个。。。。。
比如String s = new String("abc");
String a = "abc"
此时  a == b   // false
a.equals(b)   // true

为毛咧?

  1. 因为==在比较对象的时候,是比较他们是不是引用的同一个对象。

  2. 而equals比较对象的“值”是否相等。

  3. 当然,有些对象的equals函数木有重载,这个时候,也是1的解释。所以。。。你要看看是哪个对象。



作者:NickZhang
链接:https://www.zhihu.com/question/21917879/answer/19729042
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1 回复 有任何疑惑可以回复我~

引用类型比较对象用==,比较值用equals

0 回复 有任何疑惑可以回复我~

if(sex = "女"){

改成

if(sex == "女"){

=是赋值运算符

==是比较运算符

if后的()的结果应该是Boolean型

3 回复 有任何疑惑可以回复我~

”=“是赋值的运算符,你换成”==“试试

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪里错呢??一定要用equals???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信