我有一个字符串数组 ( String[]
),其中包含几个表示 XPath 查询的字符串对象。这些查询是在设计时预先确定的。这个数组被传递给一个执行查询的对象,然后返回一个Map<String, ArrayList<String>>
带有结果的对象。
地图是这样制作的:
{Query that originated the result, Results vector}
由于我必须获取这些结果,然后对它们执行一些工作,因此我需要了解各个查询。例如:
ArrayList<String> firstQueryResults = xpathResults.getObject(modelQueries[0]);
... logic pertaining only to the first query results ...
通过整数(在第一个查询的情况下,“0”)检索结果对我来说似乎并不好,所以我想知道是否有可能通过类似枚举的常量来识别它们,以便更清楚:
... = xpathResults.getObject(QueryDictionary.MODEL_PACKAGE);
... = xpathResults.getObject(QueryDictionary.COMPONENT_PACKAGE);
OR
... = xpathResults.getObject(ModelQueries.PACKAGE);
... = xpathResults.getObject(ComponentQueries.PACKAGE);
我曾想过使用地图(Map<String, String>
例如,在 中Map {ID, Query}
),但我仍然需要通过硬编码字符串(例如“Package”)引用查询。我也想过使用enums
,但我有几个查询集(模型、组件、...),我还需要以表单的String[]
形式获取所有查询,以便将它们传递给执行查询的对象。