如何将int和boolean存储为一对

Dav*_*len 1 java memory-management primitive-types

我们在几个类中有许多属性,其中属性目前是int和boolean.int是值,如果已设置int,则boolean为true.

我们需要这种配对,因为我们表示一个具有属性级别的对象,如果它没有设置在一个级别,它使用上面级别的设置.这种方法允许我们在每个级别记录它的值是什么,以及它是否设置在该级别或继承.

它很棒.然而,我们最终可能会有100,000个这样的对象.这是一个大量的记忆,大量的垃圾收集等等.所以,任何想法我们如何可以以某种方式更好地做到这一点.我们查看了一系列以int作为索引的整数和布尔值.但这感觉真的很尴尬,这通常意味着更多的机会出错(即引入错误).

有什么建议?

谢谢 - 戴夫

tsk*_*zzy 7

如果您没有使用全部范围int,可以使用类似Integer.MIN_VALUE-1表示"未设置" 的魔术值.

这方面的一个例子是String的indexOf()方法,-1如果找不到匹配则会返回.