在为我的应用程序中的实体分配ID之前,是否有任何问题需要考虑?
在我的应用程序中使用正范围时,存储负id范围的任何缺点?
答案 0 :(得分:3)
我发现的一个缺点就是你是否需要徘徊在表演领域。
我必须处理的其中一个系统必须根据ID进行大量的地图查找。它正在查看的地图有> 4亿条目,并有多个地图。我开始使用基于Integer键的映射。然而,为了提高内存效率和速度,我最终切换到了一个数组,其中索引是关键。使用负数会抑制这种情况。
如果您必须对ID进行任何Set数学,那么任何类型的BitSet工作都会有另一个限制。
话虽如此,这是一个相当狭窄的用例。
答案 1 :(得分:1)
你有任何看起来像这样的代码:
int id = FindRecord();
if ( id > 0 )
{
Success();
}
else
{
Failure();
}
如果是这样,你需要重构它。