java - 为什么 string.equals 在我的情况下不起作用?
问题描述
我有一个下面的例子:
public static void main(String[] args) {
String a = "abc@gmail.com";
System.out.println(a.hashCode());
System.out.println(String.format("%x%n", a.hashCode()));
String text1 = String.format("%x%n", a.hashCode());
String text2 = "9f4e93d3";
if (text1.equals(text2)) {
System.out.println("equals");
} else {
System.out.println("not equals");
}
}
我的结果:
-1622240301
9f4e93d3
not equals
我不知道为什么我的代码不输出“等于”。任何人都可以为我解释吗?
谢谢。
解决方案
如果将 .trim() 用于“text1.trim()”,则可以达到“等于”。像这个。text1 的值在 9f4e93d3 之后还有更多字符。
text1 是9f4e93d3\r\n
text2 只是9f4e93d3
如果您在调试模式下运行此应用程序,您可以轻松查看。
public static void main(String[] args) {
String a = "abc@gmail.com";
// System.out.println(a.hashCode());
// System.out.println(String.format("%x%n", a.hashCode()));
String text1 = String.format("%x%n", a.hashCode());
String text2 = "9f4e93d3";
System.out.println(text1+"-"+text2);
if (text1.trim().equals(text2)) {
System.out.println("equals");
} else {
System.out.println("not equals");
}
}
输出 :
9f4e93d3
-9f4e93d3
equals
推荐阅读
- php - Vigenere 中的数组到字符串转换
- powershell - Power BI Powershell 导出为 PDF 脚本不起作用
- vba - 如何在 macOS Big Sur 上为 OBS 执行此 PowerPoint 宏?
- ruby - Ruby 将第一个命令行参数视为标准输入
- javascript - 删除特殊字符 JavaScript 之间的字符串
- python - Matplotlib savefig 不工作 - 数据框
- reactjs - 反应路由器打字稿属性'redirectUrl'在类型'{}'上不存在
- javascript - 电子邮件地址的 JavaScript 正则表达式,限制为 40 个字符
- javascript - 什么是暂存文件?
- azure-devops-migration-tools - 17 个任务工作项中有 15 个即将到来,2 个任务未迁移