内部类不能序列化的原因
来源:互联网 发布:英克软件 下载 编辑:程序博客网 时间:2024/05/16 15:31
android 编写两个Activity间通过Intent传递数据的时候,
报了一个java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.hdu.myshop.activity.GoodsSelectListActivity$Data)的错误。
原因是内部类不能序列化,因为内部类可以访问外部类所有的成员变量,内部类有外部类的一个引用。所以序列化的时候也必须序列化外部类的成员变量,使其实现serializable接口。
在原本的Activity类的外,建一个public的保存数据的Data类,传递数据就没有问题了
public class Data implements Serializable{
/***
*/
private static final long serialVersionUID = -6798751495700613794L;
/**
*
*/
private String name;
private String brand;
private String price;
private String buyPrice;
private String amount;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getBuyPrice() {
return buyPrice;
}
public void setBuyPrice(String buyPrice) {
this.buyPrice = buyPrice;
}
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
}
0 0
- 内部类不能序列化的原因
- 内部类的序列化问题;静态变量不能被序列化的问题
- 内部类序列化
- 序列化内部类时的注意事项
- 内部类的序列化问题(很多朋友遇到的内部类序列化出错)
- 内部类序列化问题
- 内部类序列化出错
- 黑马程序员——内部类不能有静态的成员的原因
- 方法中的内部类不能访问方法中的局部变量的 【真正原因】
- 《黑马程序员》 静态方法中不能直接创建内部类实例对象的原因
- 方法中的内部类不能访问方法中的局部变量的 【真正原因】
- 关于内部类为什么可以有静态常量,不能有静态变量的原因?
- JAVA中使用内部类的原因
- Unity 内部类的属性序列化问题
- Google Gson 禁止序列化内部类
- 关于Java内部类序列化
- 外部类的静态方法内不能实例化内部类的对象
- Java内部类详解 及 局部内部类和匿名内部类只能访问局部final变量的原因
- css选择器
- jsp自定义标签tag EL函数
- layer.alert() 消息提示老是自动消失
- Jmeter测试结果分析(上)
- 4.2.2 计算数据
- 内部类不能序列化的原因
- svn is already locked解决方案
- Android Studio如何发布APK
- Android最简单的单例模式,基于百度地图随时获取定位信息
- ThreadingMixIn和ForkingMixIn类
- Android webView优化
- 亚控面试总结
- vim常用命令总结
- 14的路 WordPress中的cookie机制