Поскольку Java создает новый объект при использовании нового ключевого слова, и каждый объект имеет уникальный хэш-код, ⇐ JAVA
-
Гость
Поскольку Java создает новый объект при использовании нового ключевого слова, и каждый объект имеет уникальный хэш-код,
public class Main { public static void main(String[] args) { String str1="шрей"; String str2="шрей"; String str3=новая строка("шрей"); System.out.println(str1.hashCode()); System.out.println(str2.hashCode()); System.out.println(str3.hashCode()); } } выход = одинаковый хэш-код для всех строк str1, str2, str3
Java использует пул строк. Я знаю это. str1 и str2 создаются с использованием строкового литерала, поэтому они должны ссылаться на один и тот же объект и, следовательно, будут генерировать один и тот же хеш-код, но str3 создается с использованием str1 и str2 создается с использованием str3. ключевое слово code>new, поэтому я ожидал, что хэш-код str3 будет другим, но он оказался таким же. Почему?
public class Main { public static void main(String[] args) { String str1="шрей"; String str2="шрей"; String str3=новая строка("шрей"); System.out.println(str1.hashCode()); System.out.println(str2.hashCode()); System.out.println(str3.hashCode()); } } выход = одинаковый хэш-код для всех строк str1, str2, str3
Java использует пул строк. Я знаю это. str1 и str2 создаются с использованием строкового литерала, поэтому они должны ссылаться на один и тот же объект и, следовательно, будут генерировать один и тот же хеш-код, но str3 создается с использованием str1 и str2 создается с использованием str3. ключевое слово code>new, поэтому я ожидал, что хэш-код str3 будет другим, но он оказался таким же. Почему?
Мобильная версия