Java: можно ли десериализовать объекты без отражения - PullRequest
0 голосов
/ 21 февраля 2020

Насколько я понимаю, для десериализации любого объекта всегда используется отражение под ним, независимо от того, что будет.

Слышал, что кто-то выступает за обратное.

Пожалуйста, помогите в подтверждении этого понимает нг. Есть ли такая техника в Java (или на любом другом языке), которая не зависит от рефлексии.

Редактировать: Здесь не спрашивают мнения относительно предпочтения какого-либо подхода. Это просто знать о том, существует ли какой-либо возможный подход или нет ??

1 Ответ

2 голосов
/ 21 февраля 2020

По сути, существует два способа десериализации объектов (из JSON, из базы данных или даже из собственной сериализации Javas).

Тот, который почти каждый использует, полагается на рефлексию, чтобы узнать о структуре Объекта, чтобы создать и заполнить структуру.

Другой способ создает фабрики для объектов, которые необходимо десериализовать во время фаза сборки. Для этого он создает много классов и должен знать во время сборки, какие объекты ему нужно будет десериализовать. Единственная известная мне среда, которая следует по этому пути, это micronaut .

Даже если вы предоставляете безотражательные методы для заполнения ваших объектов (это может быть сделано), нам все равно нужно отражение, чтобы найти и вызвать эти методы.

...