【发布时间】:2016-03-31 11:00:14
【问题描述】:
我有一个静态数组列表,因为我需要从其他类访问这个数组列表,但是由于这是静态的,我不能使用对象序列化。任何人都可以推荐替代序列化或修改我的数组列表以便我可以在其他类中使用它吗?
谢谢
【问题讨论】:
-
你应该解释你的问题到底是什么。常见的答案是因为静态字段不是对象的成员,所以不需要序列化它们。
标签: java serialization arraylist static
我有一个静态数组列表,因为我需要从其他类访问这个数组列表,但是由于这是静态的,我不能使用对象序列化。任何人都可以推荐替代序列化或修改我的数组列表以便我可以在其他类中使用它吗?
谢谢
【问题讨论】:
标签: java serialization arraylist static
我面临同样的问题,首先,如果您使用 arraylist 的自定义模型类使该自定义类可解析,您可以查看下面的链接以使自定义类可解析
1.how to make a model class parcable
在使模型类可使用该类的对象与捆绑后,然后以意图捆绑到其他类,例如
/**
* functionDescList is your array list of DeviceFunctionModel class type
*
*/
Intent intent=new Intent(mContext,DeviceOptions.class);
Bundle bundle= new Bundle();
bundle.putParcelableArrayList("DeviceFunctionModel", functionDescList);
intent.putExtras(bundle);
mContext.startActivity(intent);
//in calling class just get the parcelable arraylist
Bundle bundle=getIntent().getExtras();
ArrayList<DeviceFunctionModel>functionDescList=bundle.getParcelableArrayList("DeviceFunctionModel");
第二个选项只是让模型类实现 Serializable 并将其与带有 serialaizableArraylist 的捆绑包一起发送并进入调用类
但我更喜欢第一个选项,因为它速度快并且在 android 中被推荐
【讨论】: