Size: a a a

2020 November 20

D

Dima in learn.java
Nonverbis
Не понимаю. Я так-то ничего не имею против перегонки из листа в сет для чистки от неуникального. Но он же с базой работает. Из базы можно же уникальные значения достать. Зачем доставать все, а потом лопатить. Как ни крути, что-то тут не так.
по второй части вопроса - без контекста не могу ответить
источник

D

Dima in learn.java
но согласен, что многое можно отсечь с помощью SQL
источник

N

Nonverbis in learn.java
L S
У тебя конструктор есть, чтобы это делать, зачем ты изучаешь спринг, если такие вопросы задаёшь
Какие такие я вопросы задаю? Я не могу перейти к самостоятельному программированию, не зная Спринг. Что я напишу? Консольное приложение что-ли? Вот и учу спринг.
источник

D

Dima in learn.java
Nonverbis
Какие такие я вопросы задаю? Я не могу перейти к самостоятельному программированию, не зная Спринг. Что я напишу? Консольное приложение что-ли? Вот и учу спринг.
ты смотрел гайды из спрингблога?
источник

D

Dima in learn.java
там прям по кейсам небольшие проекты на 15 минут
источник

N

Nonverbis in learn.java
Dima
ты смотрел гайды из спрингблога?
На spring.io гайды смотрел. Не все, конечно, но что-то брал оттуда.
источник

DC

Denis Chikanov in learn.java
Nonverbis
Изучаю Hibernate.
В книге написано делать hashCode() и equals() вот так.

https://pastebin.com/8r3z9fCx

В общем я согласен. А вот детали меня смущают.

А именно два вопроса:
1. Зачем в hashCode() умножать на 31?
2. Почему в equals не использовать hashcode()? Ведь, мне кажется, просто достаточно вот так сделать:

@Override
public boolean equals(Object o){
   return this.hashCode() == o.hashCode();
}
Ты вот такие вопросы задаёшь - тебе не спринг, а кор-джаву доучивать надо
источник

N

Nonverbis in learn.java
Denis Chikanov
Ты вот такие вопросы задаёшь - тебе не спринг, а кор-джаву доучивать надо
На практике прикатается. К практике перейти без спринга не получается.
источник

D

Dima in learn.java
Nonverbis
Изучаю Hibernate.
В книге написано делать hashCode() и equals() вот так.

https://pastebin.com/8r3z9fCx

В общем я согласен. А вот детали меня смущают.

А именно два вопроса:
1. Зачем в hashCode() умножать на 31?
2. Почему в equals не использовать hashcode()? Ведь, мне кажется, просто достаточно вот так сделать:

@Override
public boolean equals(Object o){
   return this.hashCode() == o.hashCode();
}
согласен с ребятами
источник

D

Dima in learn.java
у тебя тут провал
источник

D

Dima in learn.java
Nonverbis
На практике прикатается. К практике перейти без спринга не получается.
о какой практике речь?
источник

D

Dima in learn.java
спринг - это каркас
источник

D

Dima in learn.java
кишки то пистаь надо уметь - а ты базы не знаешь
источник

D

Dima in learn.java
но я не буду душить дам совет
источник

DC

Denis Chikanov in learn.java
Nonverbis
На практике прикатается. К практике перейти без спринга не получается.
Для практики пиши простенькую консольную хрень на 100 строк, да. Полезнее будет, чем пытаться положить спринг на дырявый фундамент.
источник

D

Dima in learn.java
1. Первый ответ на твой вопрос в книге Джошуа Блоха, Эффективная Джава
источник

D

Dima in learn.java
там и про 31 и про правильное определение и связь хэшкода и иквалса
источник

D

Dima in learn.java
2. Если объекты равны = их хэшкоды равны
источник

D

Dima in learn.java
а вот обратное не верно, так как возможны коллизии
источник

D

Dima in learn.java
а при коллизиях в таких структурах как мапа/множество, ты можешь потерять добавленный объект при плохо определенных equals/hashcode
источник