Насколько я понимаю, невозможно пройти простой объект List
между Акциями без List
, являющийся ArrayList
. Возможно, я пропустил какой-то способ сделать это? Если нет, кто-нибудь знает, почему Google заставит пользователей использовать конкретные данные для реализации в своем коде?Почему вы не можете передавать List (NOT ArrayList) между действиями?
ответ
Вы можете передавать явные реализации, потому что они реализуют Serializable, в то время как их абстрактные и интерфейсы - нет.
Список и другие коллекции не являются Serializable, потому что это не их определение. Они предлагают выбор для их реализации, поскольку у вас также есть реализации списка, которые не являются Serializable.
Это важно, поскольку вы можете сохранить данные, которые не сохраняются для сериализации, в списке. В этих случаях вы можете выбирать реализации, которые являются лучшим выбором для этих данных, вместо того, чтобы принудительно выполнять «List» для сериализации.
Этот третий абзац действительно, где мясо для меня по этой теме. Тогда это имеет смысл. Поэтому из-за того, как мы обрабатываем этот объект в Android, нам НЕОБХОДИМО «Serializable», а это значит, что нам нужно вызвать реализацию «List»? –
Точно. Вам необходимо Serializable (или Parcable, пожалуйста, используйте это для своих собственных объектов), чтобы передать объект из Activity в Activity, поскольку это невозможно по ссылке. Serializable реализуется только в конкретных реализациях, а не на интерфейсах/рефератах. Это потому, что List просто не всегда требуется сериализуемым. Что и почему в обоих этих требованиях, вероятно, будут расширены разъяснения по всему Интернету, поэтому вы должны их прочитать. –
Звучит потрясающе, поэтому один последний быстрый вопрос. Будет ли это приемлемой/хорошей практикой для этого? // Драйвер реализует подробный Список
Потому что существует класс Application, который вы можете использовать для хранения ссылок на подобные вещи и многое другое.
- 1. передавать данные между действиями
- 2. Как передавать данные между действиями
- 3. Как передавать большие данные между действиями?
- 4. Передача arraylist объектов между действиями
- 5. Как эффективно передавать данные между действиями?
- 6. передавать данные между действиями с намерением
- 7. Я хочу передать arraylist между действиями
- 8. JavaScript - Как вы можете передавать глобальные переменные между файлами .js?
- 9. Можете ли вы пропустить HashMap, как вы можете, в ArrayList?
- 10. отличия между arraylist и List
- 11. Как я могу передать ArrayList между действиями?
- 12. Java/android не может передавать массив байтов между действиями
- 13. Передача ArrayList <String[]> между действиями
- 14. Передача ArrayList между действиями с использованием putStringArrayListExtra
- 15. Как получить arraylist объекта между двумя действиями
- 16. Почему переменные значения не проходят между действиями?
- 17. Почему вы не можете показать список ресторанов?
- 18. Как передавать данные между действиями на Android с SharedPreferences?
- 19. Как передать объект между действиями?
- 20. Навигация между действиями не работает
- 21. Можете ли вы расширить ArrayList на Java?
- 22. Я хочу передавать данные между двумя действиями, используя Intent, но почему он не работает?
- 23. Есть ли способ передавать данные между действиями в группе действий?
- 24. Как безопасно передавать modelinfo между различными действиями в MVC?
- 25. Передача паролей между действиями
- 26. Переключение между двумя действиями
- 27. В чем разница между List и ArrayList?
- 28. передачи параметров между действиями
- 29. передача параметров между действиями
- 30. Почему вы не можете получить длину (,,)?
Я не знаю, но я уверен, что для больших массивов гораздо эффективнее делать копию памяти блока, чем создавать целую новую структуру данных, например, связанный список и копировать каждый отдельный объект. –
Я согласен с Грегом .. они, вероятно, оптимизировали эту конкретную реализацию –
@RhinoFeeder извините неправильно прочитал сообщение. удалил мой предыдущий комментарий – Raghunandan