我正在浏览并发hashmap的源代码,发现它是可序列化的。 HashMap也是可序列化的。
为什么并发hashmap / hashmap是可序列化的?我的意思是为什么要做出这种设计选择。
答案 0 :(得分:3)
HashMap是可序列化的,类实现 ptv.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (temp != null)
{
temp.setBackgroundColor(Color.GREEN);
temp.setBackgroundResource(R.drawable.cell_shape);
temp = null;
}
if (temp == null) {
TextView ptv = (TextView) v;
String mdnStr =ptv.getText().toString().trim();
v.setBackgroundColor(Color.GRAY);
if (mdnStr.length()== 10) {
//do some thing whatever you want...
}
temp = ptv;
}
}
});
接口
Serializable
ConcurrentHashMap:
public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {
private static final long serialVersionUID = 362498820763181265L;
您可以在以下链接中获取有关java serialize的更多详细信息
答案 1 :(得分:1)
正如其他人已经说过的那样,HashMap
是Serializable
,但是地图或Collection
界面并不强制每个集合的实施都是&#34;可序列化的&#34 ;。如果您想创建自己的Set
或Map
而不是将其设置为可序列化,那么这是您的选择,迫使人们去做是没有意义的它。
但我的猜测是,大多数实用程序类如Collection
实现都是可序列化的,所以每个人都不必创建自己的SerializableHashMap
,因为这些类被大量使用并且很多人序列化他们。所以它有点像他们的基本功能。