1
55
不可变类更容易使用。它们永远不会改变,并发代码也不会有问题。(基本上,破坏它们的可能性较小。)
如果要返回对布尔值的引用,可以使用
|
2
27
也许给自己写一个包装类
或者生成一个通用的holder类(这意味着您必须使用类
然后返回包装类,而不是值本身,这允许修改包装内的值。 |
3
20
如果您正在使用Java 5或更高版本,则使用 AtomicBoolean |
4
4
只使用布尔原语怎么样?
|
5
4
为什么不使用布尔原语? 例如
注意,如果需要,getter方法可以返回布尔值,因为 autoboxing . 这使得使用基元和它们的对象等价物(例如布尔值与布尔值,或int与integer)之间的交换变得容易。 因此,要解决您编辑的答复。你现有的方法,
可以通过返回自动盒布尔值来实现。 |
6
4
可以使用布尔数组
|
7
1
我最喜欢的答案是亚当写了你自己的包装类…好啊
|
8
0
如果您使用的是Android,那么可以使用包含各种原语值的android.util.mutable*对象。例如,从sdk源代码引用:
|
9
-1
您是否真的希望调用者能够通过操作返回的内容来修改对象的布尔值?以便对象和调用方共享对它的引用? 我明白,鉴于: class OddClass { private Boolean strangeFlag; public Object getAttrbiute(String attributeName) { if (attributeName.equals("strangeflag")) return (Object)strangeFlag; ... } } 然后来电者会: Boolean manipulableFlag = (Boolean) myOddClass.getAttrbiute ("strangeflag");
稍后,如果调用者更改
这就是你要问的吗? 在这种情况下,你需要一个持有者类,正如亚当所建议的。 |