Не может Сериализировать/Десериализовать ArrayList

Решение моего вопроса:

$currentPage = isset(

Решение моего вопроса:

[110]GET['page']) ? (int)

Решение моего вопроса:

[110]GET['page'] : 1; $companys = Cache::remember('companys-'.$currentPage, 30, function () { return Company::with(['comments' => function ($query) { $query->where('status', '=', 'done'); }])->withCount('comments')->has('comments')->inRandomOrder()->paginate(8); });
5
задан sakana 26 March 2009 в 13:11
поделиться

2 ответа

Не использовать ByteArrayOutputStream.toString() - вместо этого, используйте toByteArray() и base64-закодируйте это двоичные данные для преобразования его в строку, не теряя информацию.

Я сильно подозреваю, что это - основная проблема - что Вы теряли данные после сериализации. Необходимо, вероятно, также закрыть или по крайней мере сбросить ObjectOutputStream. Я не знаю бесцеремонно, делает ли это на самом деле что-нибудь в этом случае, но это, казалось бы, было бы хорошей идеей.

Я не полагаю, что существует любая поддержка base64 непосредственно в Java (в общедоступном классе, так или иначе), но существуют различные сторонние библиотеки, которыми можно пользоваться, такие как тот в библиотеке Apache Commons Codec.

9
ответ дан 14 December 2019 в 01:17
поделиться

Вы попытались переопределить это поведение путем объявления собственного serialVersionUID в пользовательском классе?

У Вас есть определенная причина того, чтобы сделать дополнительный шаг сериализации через строку? Обычно Вы просто десериализовали бы через ObjectOutputStream.

0
ответ дан 14 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: