【发布时间】:2017-04-05 16:38:57
【问题描述】:
我在 Java 中使用下面的 couchbase 查询来获取特定值的数组列表。
Statement statement = select("PlanningId").from(i(CouchbaseBucket.RangePlan.toString()))
.where(x("meta().id").like(s("PRODUCTOPTION%")).and(x("Status").eq(s("Ready"))));
String[] planningIDs = couchbaseRepository.getQueryResult(bucket, statement);
这会将输出返回为:
[{"PlanningId":"PRODUCTPLANNING_666"}, {"PlanningId":"PRODUCTPLANNING_777"}]
我需要只有值的输出:
[{"PRODUCTPLANNING_666"}, {"PRODUCTPLANNING_777"}]
我无法使用子字符串或拆分来获取此信息。 我将如何实现这一目标?
谢谢 伊姆兰
【问题讨论】:
-
如果您只想处理生成的字符串数组
planningIds,您需要创建另一个字符串数组,您可以在其中实际存储所需的值,例如PRODUCTPLANNING_666, PRODUCTPLANNING_777,... -
如果我需要创建一个新的数组列表,请告诉我。如果那我如何只插入其中的一部分?
-
请澄清一件事,您是在
String数组还是ArrayList中得到这个[{"PlanningId":"PRODUCTPLANNING_666"}, {"PlanningId":"PRODUCTPLANNING_777"}]。查看您的代码 sn-p,我猜您正在调用Arrays.toString(planningIds)。对吗? -
是的。它是一个 ArrayList。我目前将其称为 String 进行值测试。
-
在这种情况下,您的
ArrayList持有哪些对象?它包含PlanningId类型的对象还是仅包含String对象?
标签: java arraylist substring couchbase