我创建了一个autocomplete,它应该在用户经过筛选后显示结果 startsWith
.
例如,如果用户搜索“哈利波特”,我希望返回以“哈利波特”开头的结果,但我得到的所有结果都以“哈利”开头,就像单词之间的空格打断了短语一样。
我怎么用 startsWith
用两个字的字符串?
我使用:
for (String item : autoBookNames) {
if (item.toLowerCase().startsWith( query.toLowerCase() )) {
filteredTitles.add( item );
}
}
2条答案
按热度按时间k5ifujac1#
我运行了这个代码。很好用。输出是[哈利波特是奥塞姆,哈利波特是伟大的]。可能是你的问题
query.toLowerCase()
. 看看它回来了。你会发现问题的。rnmwe5a22#
我制作了一个简单的主java类,看起来您的代码正在运行:
输出:
哈利波特:adfg
哈利波特:sdfsdf
哈利波特真棒
可能主要的问题在于比较项目和查询中的startwith。