| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1644 人关注过本帖
标题:新人问一个关于字符串是否相等的问题。谢谢!
只看楼主 加入收藏
学习丶123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-1-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
新人问一个关于字符串是否相等的问题。谢谢!
            Scanner in = new Scanner(System.in);
            String d = in.next();
            String a = "byes";
            String b = "byes";
            String c = new String("byes");
            System.out.println(a==b);
            System.out.println(a==c);
            System.out.println(a=="byes");
            System.out.println(a.equals(b));
            System.out.println(a==d);

为什么 a==b ,而a!=c;a!=d;d得到的也是"byes"字符串。
搜索更多相关主题的帖子: 字符串 System String out println 
2019-01-08 14:16
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:10 
一般是用equals判等

剑栈风樯各苦辛,别时冰雪到时春
2019-01-09 01:10
学习丶123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-1-3
收藏
得分:0 
回复 2楼 林月儿
谢谢回复,为什么a==b,难道这里输入的两个"byes",程序默认是同一个吗?
2019-01-09 09:40
疯狂的小a
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:39
帖 子:423
专家分:1871
注 册:2018-2-6
收藏
得分:10 
a==b是因为对字符串==判断的地址值,而你给a和b赋值的时候,都是从常量池取的同一个"byes",所以他们地址值相同

假如人生没有梦想,和咸鱼有什么区别!
2019-01-09 09:52
学习丶123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2019-1-3
收藏
得分:0 
回复 4楼 疯狂的小a
似乎明白了,谢谢
2019-01-09 10:14
快速回复:新人问一个关于字符串是否相等的问题。谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019289 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved