【发布时间】:2013-05-17 16:06:06
【问题描述】:
在数组列表中存储一个附加属性的最佳方法是什么? 假设我将一个对象的 ArrayList 传递给一个方法,然后返回一个带有附加标志的 ArrayList。
ArrayList<MyObject> list = new ArrayList<MyObject>();
//fill
list = myMethod(list);
我想为每个对象获取一个布尔值,但我不想将它直接存储在对象中。 所以myMethod之前的数据:Apple、Banana、Grapefruit myMethod 之后:Apple=>true、Banana=>false、Grapefruit=>false。
如果不在对象中,我如何存储该附加属性?最好的数据类型是什么? ArrayList 做不到吧?
【问题讨论】:
-
为什么不直接存储在对象中呢?这是最好的方法。
-
你最好让你的对象包含一个布尔实例变量。
-
创建一个方法 public boolean checkCheckity(MyObject o) 并调用它。
-
因为它与对象无关。基本上 myMethod 向用户显示对象并为每个对象获取用户输入(真或假)。基于这个布尔变量,主程序为每个对象做一些事情。但是,用户输入仅用于此决定,因此将其存储在对象中会很奇怪。
-
如何使用 Map
?