【发布时间】:2020-03-11 10:12:42
【问题描述】:
下面有一个例子:
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
我不知道为什么我的代码不输出“等于”。谁能帮我解释一下?
谢谢你。
【问题讨论】:
-
两个字符串不相等。其中一个在末尾有一个换行符,因为您将
%n放在格式字符串中。 -
@khelwood 啊,我的错。非常感谢。