如何使用 PropertyUtils 从地图内的列表中获取元素?

Psy*_*nch 2 java indexed-properties apache-commons-beanutils

我一直在尝试使用用于 PropertyUtils 的 getProperty 的索引符号来检索作为映射值包含的列表中的元素。这是一个示例(我在这里使用的是通用语法):

map = {"aList": ["elem1", "elem2", "elem3"]}
Run Code Online (Sandbox Code Playgroud)

比方说,我想获得值“elem2”,我正在尝试使用:

PropertyUtils.getProperty(map, "aList[1]");
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用。我总是得到一个空值。有没有其他方法可以做到这一点。明确地说,我知道我可以做一个getProperty("aList").get(0)(当然是在显式转换之后),但我正在研究一个需要上述代码才能工作的解决方案。

Psy*_*nch 5

好的,所以我想通了。下面的代码像我想要的那样工作:

PropertyUtils.getProperty(map, "(aList)[1]");
Run Code Online (Sandbox Code Playgroud)

我认为,基于这个文档,我在这里所做的是我指定它aList是一个键而不是 bean 的索引属性。类似的东西。