gpt4 book ai didi

java - 如何排除 ArrayList 最后一个元素附加的字符

转载 作者:行者123 更新时间:2023-12-01 18:19:28 25 4
gpt4 key购买 nike

我正在尝试使用 for() 循环构建一个字符串来迭代 ArrayList 的元素。我想在将 ArrayList 的每个元素附加到我正在构建的字符串后附加一个逗号,但我不想在附加 ArrayList 的最后一个元素后附加逗号。

这是我到目前为止所尝试的,但在最后一个元素后面仍然添加了逗号。

public String buildWOEIDQuery(ArrayList searchCriteria)
{
String query = "http://where.yahooapis.com/v1/places.q('";
for (int i = 0; i < searchCriteria.Count; i++ )
{
if(searchCriteria.)

query += (String)searchCriteria[0];
if(i != searchCriteria.Count)
{
query += ",";
}
}
query += "')?appid=" + devKey;

return query;
}

如果有 3 个搜索条件,查询最终应如下所示:

http://where.yahooapis.com/v1/places.q('criteria1,criteria2,criteria3')?appid=dj0yJmk9Tm

如果 i 等于 ArrayList 的计数,这不是使它成为列表的最后一个元素,因此不应附加逗号吗?

最佳答案

问题 1:您的状况 if(i != searchCriteria.Count) will be never true 因为你的 for 循环不会进入 if i等于 ArrayList.Count .

所以你需要具备条件if(i != searchCriteria.Count)跳过最后一项的逗号。

您还可以使用TrimEnd()函数删除最后一个逗号。

试试这个:

query = query.TrimEnd(',');

问题 2:在循环中,您对值零进行硬编码以从 ArrayList 获取第一个元素总是

替换这个:

query += (String)searchCriteria[0];

有了这个:

query += (String)searchCriteria[i];

建议1:不要使用ArrayList因为它是遗产,您可以使用通用 List<T> .

完整代码:

public String buildWOEIDQuery(List<string> searchCriteria)
{
String query = "http://where.yahooapis.com/v1/places.q('";
for (int i = 0; i < searchCriteria.Count; i++ )
{
query += searchCriteria[i] + ",";
}
query = query.TrimEnd(',');
query += "')?appid=" + devKey;

return query;
}

关于java - 如何排除 ArrayList 最后一个元素附加的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28001183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com