powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Сравнение двух объектов
13 сообщений из 13, страница 1 из 1
Сравнение двух объектов
    #37691960
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времи суток.
Есть такая задача: Два обекта одного класса, надо сравнить их и получиться лист пар с различными значениями. Как можно это сделать более изящно и быстро? Может уже есть какие нибудь встроенные механизмы? Можно прикрутить рефлекшен, но вот только стоит ли ради одного класса?

Всем за ранее спасибо
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37691981
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://blog.local.ch/en/2007/04/18/java-finding-differences-in-objects/ -- вот это можно использовать на свой страх и риск, или допилить до того что вам нужно.
А вот тут обсуждение на stackoverflow - http://stackoverflow.com/questions/2546222/differences-between-2-objects-with-java-reflection-how
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692039
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692042
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synchrophasotronи еще одна сылочка
http://stackoverflow.com/questions/3491679/how-to-calculate-difference-between-two-dates-using-java
При чем здесь две даты???
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692044
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SynchrophasotronЕсть такая задача: Два обекта одного класса, надо сравнить их и получиться лист пар с различными значениями. Как можно это сделать более изящно и быстро? Может уже есть какие нибудь встроенные механизмы? Можно прикрутить рефлекшен, но вот только стоит ли ради одного класса?
Если класс только один с примитивными полями то не грех и руками написать.
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692086
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЕсли класс только один с примитивными полями то не грех и руками написать.
+1
особенно с примитивными типами.
А если со сложными, то задача вообще нерешаема.
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692092
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123А если со сложными, то задача вообще нерешаема.
Почему? У меня есть самописное подобие. Не совсем diff, но похоже. Нормально решает - разворачивает все объекты до примитивов.
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692101
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692106
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123BlazkowiczЕсли класс только один с примитивными полями то не грех и руками написать.
+1
особенно с примитивными типами.
А если со сложными, то задача вообще нерешаема.

Да тоже решил что ручками быстрее и проще будет
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692111
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123А если со сложными, то задача вообще нерешаема.
Почему? У меня есть самописное подобие. Не совсем diff, но похоже. Нормально решает - разворачивает все объекты до примитивов.
не знаю, как вы в Java пишите.
У меня в D в объектах по 3-4 класса-композита и наследники. В каждом из них ещё "матрёшки".
Т.е. куча состояний, связей.
====
Аналог - сравнить\скачать 2 страницы сайта имеющей ссылки. Обычно качалка ставит ограничение - далее 2-го колена ссылки - не качать.
imho
Тут надо цель сравнения иметь.
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692136
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне знаю, как вы в Java пишите.
У меня в D в объектах по 3-4 класса-композита и наследники. В каждом из них ещё "матрёшки".
Т.е. куча состояний, связей.
====
Аналог - сравнить\скачать 2 страницы сайта имеющей ссылки. Обычно качалка ставит ограничение - далее 2-го колена ссылки - не качать.
imho
Тут надо цель сравнения иметь.

А при чем тут наследники? На самом деле тут рекурсивный алгоритм, разворачиваем все суперклассы и поля до примтивных типов и сравниваем, ничего сверхъестественного.
Кстати по-моему интересная задача для обсуждения на собеседовании, наводящими вопросами можно обсудить чуть ли не все java core
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692143
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никА при чем тут наследники? На самом деле тут рекурсивный алгоритм, разворачиваем все суперклассы и поля до примтивных типов и сравниваем, ничего сверхъестественного.
Кстати по-моему интересная задача для обсуждения на собеседовании, наводящими вопросами можно обсудить чуть ли не все java core
Ну, хз. Я вот сам постоянно забываю что нельзя нормально получить поля включая предков. Уже третий раз сталкиваюсь и всё равно не помню. Зато в Spring нашелся полезный шаблон для этого.
...
Рейтинг: 0 / 0
Сравнение двух объектов
    #37692192
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу, хз. Я вот сам постоянно забываю что нельзя нормально получить поля включая предков. Уже третий раз сталкиваюсь и всё равно не помню. Зато в Spring нашелся полезный шаблон для этого.

Ну так в этом и вся соль имхо, естественно многие забудут, на то и наводящие вопросы, а что если у класса есть суперкласс? - а что если есть коллекция? А как лучше всего сравнивать строки? а что если это generic класс? и т.д - просто лично мне гораздо проще говорить имея конкретную, понятную задачу, чем какие-то абстрактные, никому не нужные головоломки или corner-case. К тому же интересно увидеть как человек думает, знает ли про Reflection, про рекурсию и т.д.

А то как-то было у меня on-call собеседование с шарингом экрана, где надо было написать библиотеку для работы с дробными числами с использованием TDD, ну и что тут можно гвоорить когда я с дробями имел дело последний раз лет 10 назад, а тут вполне себе реальная практическая задача.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Сравнение двух объектов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]