Size: a a a

Android arch. components

2021 January 12

IM

Ivan Makeev in Android arch. components
Anton Potekhin
думаю не в этом дело.  var не участвует в сравнение а значит и не станут они неравны по причине таких полей.
Вот только это позволяет поменять значение, без создания нового объекта класса.
источник

AP

Anton Potekhin in Android arch. components
Ivan Makeev
Вот только это позволяет поменять значение, без создания нового объекта класса.
но это никак не повлияет на сравнение в diff. Я предполагаю что в diff один и тот же item рапортуется как не равные. По этому и проиcходит insert вместо update
источник

IM

Ivan Makeev in Android arch. components
Anton Potekhin
но это никак не повлияет на сравнение в diff. Я предполагаю что в diff один и тот же item рапортуется как не равные. По этому и проиcходит insert вместо update
Ну если он сравнивает объекты и они не равны. То скорее всего надо смотреть в сторону equals и hash code?
источник

AP

Anton Potekhin in Android arch. components
Ivan Makeev
Ну если он сравнивает объекты и они не равны. То скорее всего надо смотреть в сторону equals и hash code?
в точку. Но нужно сперва убедится конечно что они не равны 😉
источник

EG

Evgeny GooDi in Android arch. components
Ivan Makeev
А свойства не var случаем? У data классов.
Нет. Вал. У меня там силед класс и два дата класса в нем.
источник

IM

Ivan Makeev in Android arch. components
Anton Potekhin
в точку. Но нужно сперва убедится конечно что они не равны 😉
Потому и написал про var, так как в этом случае есть сеттер, то есть мы можем поменять значение переменной и при сравнении со старым значением они будут не равны.
источник

IM

Ivan Makeev in Android arch. components
Anton Potekhin
в точку. Но нужно сперва убедится конечно что они не равны 😉
Но да, пока нет подтверждения, то это просто сотрясение воздуха.
источник

AP

Anton Potekhin in Android arch. components
Ivan Makeev
Потому и написал про var, так как в этом случае есть сеттер, то есть мы можем поменять значение переменной и при сравнении со старым значением они будут не равны.
Я в Котлин пока не силен. Вот и не пойму как var может повлиять на equal . Var же вообще в equal не участвует. В equal только val. Или я не прав ?
источник

EG

Evgeny GooDi in Android arch. components
Ivan Makeev
Но да, пока нет подтверждения, то это просто сотрясение воздуха.
Я могу показать как делаю
источник

IM

Ivan Makeev in Android arch. components
Anton Potekhin
Я в Котлин пока не силен. Вот и не пойму как var может повлиять на equal . Var же вообще в equal не участвует. В equal только val. Или я не прав ?
Val даёт только геттер, а var геттер и сеттер. А сеттер на позволяет изменить объект, без его пересоздания. Я это имею ввиду.
источник

AP

Anton Potekhin in Android arch. components
Ivan Makeev
Val даёт только геттер, а var геттер и сеттер. А сеттер на позволяет изменить объект, без его пересоздания. Я это имею ввиду.
Это понятно но результат equal не изменится же что не пихай в var
источник

IM

Ivan Makeev in Android arch. components
Просто был случай, когда свойство было изменяемым и его неявно меняли. А потом в хешмапе был глюк, так как менялся хеш.
источник

AP

Anton Potekhin in Android arch. components
Evgeny GooDi
Я могу показать как делаю
Показать точно не помешает. Но я честно на сегодня все.  И посмотрю только завтра.
источник

IM

Ivan Makeev in Android arch. components
Anton Potekhin
Это понятно но результат equal не изменится же что не пихай в var
Я про такой кейс, когда у нас есть список в ресайклере, потом в список добавляются элементы и мы неявно где-то меня свойство объекта списка. А потом при сравнении старого и нового списка в diff объекты при сравнении не будут равны, хотя мы ожидали другого.
источник

EG

Evgeny GooDi in Android arch. components
источник

IM

Ivan Makeev in Android arch. components
Кажется диф неверно настроен.
источник

EG

Evgeny GooDi in Android arch. components
Ivan Makeev
Кажется диф неверно настроен.
а что неверно делаю?..
источник

AP

Anton Potekhin in Android arch. components
В areItemthesame сравни не весь класс а просто поле id
источник

IM

Ivan Makeev in Android arch. components
areItemsTheSame id попробуйте сравнить
источник

AP

Anton Potekhin in Android arch. components
Ну чтобы только id сравнивались
источник