加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java中不同方式的字符串比较差异

发布时间:2020-12-15 05:08:00 所属栏目:Java 来源:网络整理
导读:我有两个字符串,我想我的意思是根据我的眼睛他们是完全相同的.但他们的比较给了我错误的结果. 让我简单解释一下, String bir = "brescia calcio";String iki = "brescia calcio?"; if("brescia calcio".equals("brescia calcio")) System.out.println(("dene
我有两个字符串,我想我的意思是根据我的眼睛他们是完全相同的.但他们的比较给了我错误的结果.

让我简单解释一下,

String bir = "brescia calcio";
String iki = "brescia calcio?";
 if("brescia calcio".equals("brescia calcio"))
 System.out.println(("deneme"));



HashMap<String,Long> deneme = new HashMap<String,Long>();
HashMap<String,Long> deneme2 = new HashMap<String,Long>();


if (bir.equals(iki)) {
    System.err.println("a");
}
deneme.put(bir,(long) 1);
deneme.put(iki,(long) 2);

deneme2.put("brescia calcio",(long) 3);
deneme2.put("brescia calcio",(long) 4);



System.err.println(deneme.size());
System.err.println(deneme2.size());

上面的代码片段产生

deneme
2
1

输出.我对它完全感到困惑.有人可以解释为什么会如此.谢谢.

解决方法

最后有一个不可打印的字符,你看不到.

String iki = "brescia calcio?";

for(int i=0;i<iki.length();i++)
    System.out.println(i+": "+iki.charAt(i)+" (" + (int) iki.charAt(i)+")");

版画

0: b (98)
1: r (114)
2: e (101)
3: s (115)
4: c (99)
5: i (105)
6: a (97)
7:   (32)
8: c (99)
9: a (97)
10: l (108)
11: c (99)
12: i (105)
13: o (111)
14: ? (8206)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读