gpt4 book ai didi

java - contains() 方法未按预期工作

转载 作者:行者123 更新时间:2023-12-01 22:33:37 26 4
gpt4 key购买 nike

我正在为 Android 构建一个语音助手,这里这个方法会一一检索联系人姓名并将其与 SpeechToText 输入进行比较。

我成功获取了联系人姓名,但是当我将其与输入文本进行比较时,没有任何反应。

这是代码

private void callFromContact(String text_received, int index){

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
if(text_received.toLowerCase().contains(name)){
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
contactNames.add(name);
contactNumbers.add(phoneNumber);
}
}

例如,我发送“call karan”作为输入,在调试时名称“Karan”作为名称变量的值出现,但是在 if 语句中比较它时,没有任何反应,我的意思是下一个语句不是已执行,可能出现什么问题,将不胜感激。

最佳答案

您还需要将 name 变量转换为小写,因为 String.contains() 方法区分大小写,因此 call karan 不会不包含Karan

关于java - contains() 方法未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205544/

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