我有一个DTO对象用于从我的服务器获取数据.它可以用于一个或多个元素.这个DTO封装了一个Collection
包含数据.
当我的DTO只给我一个元素时,我应该如何存储它?
示例代码:
public class DataDTO implements Serializable
{
private Collection<Data> data;
public DataDTO()
{
}
public Collection<Data> getData()
{
return data;
}
public void setData(Collection<Data> data)
{
this.data = data;
}
public void setData(Data singleData)
{
// At this time I use an ArrayList initialized with a capacity of 1
this.data = new ArrayList<Data>(1);
this.data.add(singleData);
}
}
Run Code Online (Sandbox Code Playgroud)
278*_*184 14
您可以使用Collections类中的单例方法.
singletonList :返回仅包含指定对象的不可变列表.返回的列表是可序列化的.
singleton:返回仅包含指定对象的不可变集合.返回的集是可序列化的.
singletonMap:返回不可变映射,仅将指定键映射到指定值.返回的地图是可序列化的.
问题是,你以后想做什么?您是否有机会添加另一个元素?如果没有,你可以使用
this.data = Collections.singletonList( singleData );
如果您以后可能想要添加元素,那么使用List实现的典型问题是,ArrayList适用于许多情况.
归档时间: |
|
查看次数: |
2674 次 |
最近记录: |