gpt4 book ai didi

java - 为什么从 HashMap 返回的 String 与 System.out 相同但不匹配?

转载 作者:行者123 更新时间:2023-11-30 03:41:56 26 4
gpt4 key购买 nike

跟进this Q&A .

目的是匹配一个字符串,该字符串由以下方法返回:

public String getAssignment() {
return (String) hashmap.get("assignment");
}

尝试

如下:

String s = "12345";
System.out.println(s.matches("12345"));

结果是一场比赛,想法是:

System.out.println(assignment.getAssignment());
System.out.println(assignment.getAssignment().length());
System.out.println(assignment.getAssignment().matches("11111"));
System.out.println(assignment.getAssignment().equals("11111"));
System.out.println(assignment.getAssignment().trim().length());

也应该返回true

结果

System.out 11111
System.out 15
System.out false
System.out false
System.out 13

最佳答案

很可能,值后面有“不可见”字符(空格) - 在测试之前对值调用 trim()

此外,您的检查不需要正则表达式,因此只需使用 .equals() 而不是 .matches()

试试这个:

assignment.getAssignment().trim().equals("11111")

编辑

您似乎有嵌入空格 - 没问题。要从值中的任何位置删除所有空格,请使用replaceAll()(用于基于正则表达式的替换):

assignment.getAssignment().replaceAll("\\s", "").equals("11111")

关于java - 为什么从 HashMap 返回的 String 与 System.out 相同但不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26641281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com