我们在几个类中有许多属性,其中属性目前是一个 int 和一个 boolean 值。 int 是值,如果已设置该 int,则 boolean 值为真。
我们需要这种配对,因为我们要表示一个具有属性级别的对象,如果它没有设置在一个级别,它会使用上面级别的设置。这种方法让我们可以在每个级别记录它的值是什么,以及它是在该级别设置的还是继承的。
效果很好。然而,我们最终可以得到 100,000 个这样的对象。那是大量的内存,大量的垃圾收集等等。所以,任何我们如何能以某种方式做得更好的想法。我们查看了一个以枚举作为索引的整数和 boolean 值数组。但这感觉真的很尴尬,这通常意味着有更多机会出错(即引入错误)。
有什么建议吗?
谢谢 - 戴夫
最佳答案
如果您没有使用整个范围的int
,您可以使用像Integer.MIN_VALUE
或-1
这样的魔术值来表示“未设置”。
这方面的一个例子是 String 的 indexOf()
方法,如果没有找到匹配项,它将返回 -1
。
关于java - 如何成对存储 int 和 boolean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160034/