@jvmchat

Страница 1362 из 2890
Y
14.04.2017
11:47:44
Кто может набросить идею, почему, в тестах HashSet.containsAll(ArrayList) даёт false, а ArrayList.containsAll(HashSet) даёт true, при уверенно одинаковых коллекциях(распечатал)

Oleg
14.04.2017
11:53:53
hashCode() нормально написан?

Y
14.04.2017
11:54:54
hashCode() нормально написан?
да, 2 поля, по id и name, автоген idea

Павел
14.04.2017
11:59:51
зачекал на интах и стрингах идемпотентно

Google
Павел
14.04.2017
12:00:11
что-то не так с объектами видимо

Valeriy
14.04.2017
12:01:04
В листе дубликаты просто

Y
14.04.2017
12:01:05
зачекал на интах и стрингах идемпотентно
тоже сразу попробовал два IntStream toSet и toList, говорит true

Valeriy
14.04.2017
12:01:14
Я даже проверил

Все ради вас

Y
14.04.2017
12:02:44
Adam
14.04.2017
12:03:14
мы что тут в пазлеры играем?

Павел
14.04.2017
12:03:19
с дубликатами в листе все тоже самое, as expected оба варианта true

Adam
14.04.2017
12:03:23
возьми и продебажь

Oleg
14.04.2017
12:04:01
Ну так не интересно же, подебажь. Так любой может

Y
14.04.2017
12:04:40
мы что тут в пазлеры играем?
я и попросил идею, потому что в дебаге даёт true и false, осталось только equals и hashcode дебажить генерируемые

Oleg
14.04.2017
12:04:41
null вроде тоже не должен мешать ничему

Google
Valeriy
14.04.2017
12:05:11
Код тогда в студию

Oleg
14.04.2017
12:07:13
HashSet позволяет нулл правда?

Valeriy
14.04.2017
12:07:51
Да

Oleg
14.04.2017
12:10:16
На всякий случай тупой вопрос, equals тоже нормальный и консистентный с hashCode() правда?

Павел
14.04.2017
12:10:26
в общем )) чет ты @loskin темнишь ))

public class FuckThemAllTest { @Test public void name() throws Exception { List<Fake> list = new ArrayList<?); list.add(new Fake(1, "Vasya")); list.add(new Fake(2, "Petya")); list.add(new Fake(3, "Kolay")); list.add(new Fake(4, "Sanya")); Set<Fake> set = new HashSet<?); set.add(new Fake(1, "Vasya")); set.add(new Fake(2, "Petya")); set.add(new Fake(3, "Kolay")); set.add(new Fake(4, "Sanya")); Assert.assertTrue(list.containsAll(set)); Assert.assertTrue(set.containsAll(list)); } static class Fake { final int id; final String name; public Fake(int id, String name) { this.id = id; this.name = name; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Fake fake = (Fake) o; return id == fake.id && Objects.equals(name, fake.name); } @Override public int hashCode() { return Objects.hash(id, name); } } }

все робит как надо )

смотри очепятки у себя

Y
14.04.2017
12:11:38
На всякий случай тупой вопрос, equals тоже нормальный и консистентный с hashCode() правда?
сейчас конечно глазами просмотрю что там нагенерилось, и попробую вынести минимальную часть

Oleg
14.04.2017
12:13:50
Нене, просто спросил чё код-то смотреть тогда и впрямь подебажить можно

Y
14.04.2017
12:21:03
в общем, спасибо что откликнулись, выносить "много", на закрытие дискуссии "минимальная часть", https://ideone.com/CRKwtS , пойду дальше копать

Павел
14.04.2017
12:21:13
а ты там случайно объекты не меняешь после того как в сет запихал?

ну там нейм сменил или айди )

Павел
14.04.2017
12:25:04
а это у тебя модели получаютс?

и что за сет и лист в итоге?

Y
14.04.2017
12:25:13
покажи hashCode()
https://ideone.com/CRKwtS добавил в конец

Павел
14.04.2017
12:25:20
это прокси какие нить

Y
14.04.2017
12:27:44
и что за сет и лист в итоге?
лист загружается из бд синхронно, сет внутри "модели" корректируется к текущим данным на сервере

Google
Павел
14.04.2017
12:28:32
реализация сета?

Y
14.04.2017
12:28:45
реализация сета?
HashSet java collection

Павел
14.04.2017
12:29:10
то есть ни ОРМов ничего такого нет?

после того как объект в сет попал поля меняются?

Y
14.04.2017
12:30:01
кусок теста, один поток

Oleg
14.04.2017
12:30:21
Сделайте пожалуйста там где он распечатывает и имя, еще getClass ()

На всякий случай

Хотя я не совсем точно представляю как оно может помешать если классы разные. Хотя может наверное :)

Прокси вечно все ломают

Y
14.04.2017
12:33:41
Сделайте пожалуйста там где он распечатывает и имя, еще getClass ()
не понял где точно, но везде где распечатывает, вывел AbstractManagerTest

Oleg
14.04.2017
12:34:14
Нене на пятой и 26 строке

Oleg
14.04.2017
12:34:33
Класс объектов в сете и листе

Y
14.04.2017
12:34:36
Нене на пятой и 26 строке
да, везде выдал AbstractManagerTest

Pavel
14.04.2017
12:34:41
ой что то новый разбор полётов полслушал и думаю вот на скале начать писать

Y
14.04.2017
12:34:46
хорошо, понял

Oleg
14.04.2017
12:36:07
Класс девайса

Mikhail
14.04.2017
12:36:47
А какой выпуск вдохновляет на скалке писать?

Oleg
14.04.2017
12:37:02
Последний про банк?

132 или как там его

Google
Mikhail
14.04.2017
12:38:06
О, коротенький

Y
14.04.2017
12:38:29
Класс девайса
у всех core.db.entities.Device, ладно, спасибо за отзывчивость, пойду копать, а может на List сменю, хотя это наверное будет потенциальная ошибка

Anton
14.04.2017
12:43:23
ну у тебя с хешкодом проблемы, как я понимаю

потому что эрэй лист проверяет только на equals

и там все норм

Admin
ERROR: S client not available

Евгений
14.04.2017
12:51:18
за весь подкаст ни разу не прозвучало ни "монада", ни "функтор" :))

The mirror
14.04.2017
12:56:05
Ну там было про scalaz - а это самое мясо в скале со всеми этими функторами и тому подобное

Valeriy
14.04.2017
13:08:14
Ну тогда точно что-то с хешом. Скорее всего объекты изменяются после того, как попали в сет. Потому что хэшкод вроде нормально написан. Попробуй переопределить хэшкод, чтобы константу возвращал

Должно стать true

Kirill
14.04.2017
13:08:28
Ну там было про scalaz - а это самое мясо в скале со всеми этими функторами и тому подобное
при этом тинькоф сказал что выпиливает их из продакшен кода, потому что слишком непрозрачно выходит

о чем я всегда и говорил

Y
14.04.2017
13:13:52
Должно стать true
Да, стал true, пойду разбор полётов устраивать с бд, но стоя в дебаге, всё выглядит культурно, и вроде все операции синхронные

Pavel
14.04.2017
13:29:36
+
положил на стек в общем этот курс от твиттера

https://www.coursera.org/specializations/scala

Kirill
14.04.2017
14:13:36
ты тише, а то щас дмсол придет и тебе разложит по полочкам что скала не очень)

Google
Евгений
14.04.2017
14:16:07
Current session: Apr 10 — May 29.

фак

guga
14.04.2017
14:17:42
Current session: Apr 10 — May 29.
а это не важно

его же там можно в любой момент начать

и проверка там автоматическая

Митко Соловец?
14.04.2017
14:18:11
кто за сертификат платил?

guga
14.04.2017
14:18:14
может быть активность на фороме будет так себе

Митко Соловец?
14.04.2017
14:18:22
или все во фри режиме?

Евгений
14.04.2017
14:19:47
чтоб скалу знать, нужен сертификат?

скока стоит, я не шарю прост

Митко Соловец?
14.04.2017
14:20:25
да нет, его прост за прохождение курса можно получить

Kirill
14.04.2017
14:25:27
я то тут причем?
ну ты же любитель на эту тему мне подоказывать

И не только мне

Valeriy
14.04.2017
14:27:09
Просто линкедин и твиттер маленькие проекты, не наш масштаб, поэтому у них скала работает, а так то, говно, конечно, не поддерживаемое

Разве что со спарком поиграться

Страница 1362 из 2890