java - 如何成对存储 int 和 boolean

标签 java memory-management primitive-types

我们在几个类中有许多属性,其中属性目前是一个 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/

相关文章:

c++ - Visual Studio 2010 C++ : Get size of memory block allocated by malloc

java - 数据类型原始对象未正确初始化 boolean 值

c++ - 原始类型比 C++ 中的用户类型慢?

java - 使用从 Json 响应传递的对象填充 JTable

c - 来自不相关 block 的指针的比较(>,> =,<,<=)

java - 测试 OpenNLP 分类器模型

c++ - 指针对指针的动态二维数组

c++ - STL 映射是否在插入时初始化基本类型?

java - JPA : one table with primary key and another table with primary and foreign key

java - 每当我尝试在 Eclipse 中打开 jsp 页面时就会发生错误。