用 if(string1.equals(string2)),我仔细看了两个字符串一模一样的,还进不去,我就懵了

2020-05-26 16:28:34 +08:00
 wk1563396689
2035 次点击
所在节点    问与答
18 条回复
redtea
2020-05-26 16:30:55 +08:00
不是有空格就是西里尔字母。
wk1563396689
2020-05-26 16:40:48 +08:00
@redtea 我把代码 build 到 docker 里面测就好了,idea 抽风了还是谁抽风了
chairuosen
2020-05-26 16:46:58 +08:00
挨个把字符串每个 charCode 打印出来
jdhao
2020-05-26 16:48:49 +08:00
看着一样不代表真的一样,万一有一个不可见字符呢,看不出来的
Hyseen
2020-05-26 16:49:51 +08:00
你看下面这两个字符串是不是一样的

123456
123​456
iwo
2020-05-26 17:38:57 +08:00
@Hyseen 天王老子来了也是一... 啊 可恶 竟然多了一个空格
wisunny
2020-05-26 17:46:22 +08:00
@Hyseen 看起来一样,但是点复制的时候就不一样了,上面一个全选,下面一个在 3 处断开
Hyseen
2020-05-26 17:49:43 +08:00
@wisunny #7 因为第二行的 3 后面有个零宽空格
20150517
2020-05-26 18:08:47 +08:00
@Hyseen 零宽空格怎么打出来的?
shenyu1996
2020-05-26 18:12:51 +08:00
转 unicode 看一眼 可能有换行符 或者某些语言 一个文字有两种 unicode 表达方式
ChanKc
2020-05-26 18:21:45 +08:00
damngood
2020-05-26 18:45:39 +08:00
unicode grapheme cluster
winterbells
2020-05-26 18:46:34 +08:00
toBytes 看一下
watzds
2020-05-26 18:52:58 +08:00
粘贴到 sublime 里,cat -A 之类都能看出来
cigarzh
2020-05-26 18:56:47 +08:00
Alice
Аⅼⅰⅽе

要是有一个字符一样算我输
Senventise
2020-05-26 19:28:31 +08:00
@20150517 \u200b
DataWorld
2020-05-26 19:39:55 +08:00
idea,debug 模式下,对比下 char 数组,可以看出区别的
Liyiw
2020-05-26 19:48:11 +08:00
楼主为什么不把字符串贴上来。。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675659

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX