【发布时间】:2015-11-12 09:12:53
【问题描述】:
我有一个类Den 实现Serializable 接口:
public class Den implements Serializable {
private double id;
private String name;
public Den(double id, String name){
this.id = id;
this.name = name;
}
public double getId() {
return id;
}
public void setId(double id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
我可以像这样在Intent 中发送Den 实例:
Intent intent = new Intent(context, NewActivity.class);
intent.putExtra("OBJECT_KEY", new Den(20.2, "JOHN"));
startActivity(intent);
然后像这样在另一个Activity 中接收它:
Intent intent = getIntent();
Den den = (Den) intent.getSerializableExtra("OBJECT_KEY");
现在我的问题是:为什么我需要在Den 上实现Serializable 接口,而不是像int、float 或String 这样的原始数据类型?内部发生了什么?
【问题讨论】:
-
因为你不能,这反过来又是因为它们已经被定义了。正如您从 Javadoc 中看到的那样,所有原语都已可序列化,
String也是如此。你的问题没有意义。
标签: java android serialization