有什么区别:
- 对象放置(可序列化键,对象值)
- 无效添加(可序列化键,对象值)
JSF中StateHelper中的方法?
有什么区别:
JSF中StateHelper中的方法?
我发现 api 文档对自己没有太大帮助并对其进行了调查。每次调用 add 时,它都会将另一个值附加到保存在给定键下的列表中。如果你在那个键上调用 get ,你会得到一个列表。add 方法可以节省您创建该列表并监视极端情况,例如。当键为空时创建列表。
您提到的 put 的工作方式类似于 map-like put。它在一个键下保存一个值。
相反,有一个带有 3 个参数的重载 put。它在该键下创建一个映射,并使用另一对键/值对该映射进行放置。再次,获得钥匙会给你一张地图。
这基本上就是添加和放置工作的方式。还有一些事情可以使部分状态正常工作。总结一下:当你想在一个键下添加多个值时,你可以使用 add。带有 2 个参数的 put 可以为您提供类似地图的行为。put 带有 3 个参数可让您在一个键下填充地图。
来自Mojarra API文档:
void add(java.io.Serializable key, java.lang.Object value)
将指定值存储在 StateHelper 内部的 List 中。java.lang.Object put(java.io.Serializable key, java.lang.Object value) 返回之前存储的值,存储指定的键/值对。
我猜 MyFaces 以类似的方式实现了它。