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

Java字符串长度无法正常工作

Java字符串长度无法正常工作

HUH函数 2021-05-07 10:11:07
我在这堂课上孤立了我原来的问题。它正在返回2 2。第一次执行我得到的代码时1 1,我会发疯,我不理解这种行为public class Test {    public static void main(String[] args) {        test("‎A");    }    public static void test(String cadena) {        System.out.println(cadena.length());        System.out.println("‎A".length());    }}
查看完整描述

2 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

"‎A"实际上是两个代码点的序列,一个不可打印的代码点,后跟一个大写的A字母。

"‎A".codePoints().forEach(System.out::println);

将打印:

8206
65

8206是Unicode字符“左向右标记”(U + 200E)字符。


查看完整回答
反对 回复 2021-05-12
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

您在中有看不见的角色A。两者不一样

   System.out.println(cadena.hashCode());
   System.out.println("‎A".hashCode());
   System.out.println("‎A".equals(cadena));

输出:

65
254451
false


查看完整回答
反对 回复 2021-05-12
  • 2 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信