разница между equals () и hashCode ()
Я хочу получить краткое определение equals (), "==" и hashCode (). Если я запускаю следующий код, значит, вывод будет «true false 2420395 2420395». Но я понял, что метод equals () сравнивает строку, а "==" сравнивает ссылку. Но в выходных данных метод hashCcode () печатает ссылочный номер для обеих строк как один и тот же, тогда почему «==» возвращает «false».
String str = "Name";
String str1 = new String("Name");
if(str.equals(str1))
System.out.println("true");
else
System.out.println("false");
if(str==str1)
System.out.println("true");
else
System.out.println("false");
System.out.println(str.hashCode());
System.out.println(str1.hashCode());
}