Android 如何从SQLite检查数组列表中的字符串

Android 如何从SQLite检查数组列表中的字符串,android,string,sqlite,arraylist,Android,String,Sqlite,Arraylist,在我的android应用程序中,我有一个带有电话号码的SQLite数据库(为了隐私起见,我在这里更改了其他不存在的号码) 我从数据库中创建了一个包含数字的列表,并打印在屏幕上,看看它是否有效,然后它会返回正确的数字 List numeri = mySQLiteAdapter.getAllNumeri(); System.out.println("num tel: " + phone); It give me back two numbers present in database -->

在我的android应用程序中,我有一个带有电话号码的SQLite数据库(为了隐私起见,我在这里更改了其他不存在的号码)

我从数据库中创建了一个包含数字的列表,并打印在屏幕上,看看它是否有效,然后它会返回正确的数字

List numeri = mySQLiteAdapter.getAllNumeri();
System.out.println("num tel: " + phone);

It give me back two numbers present in database --> [3401234567, 02123456]
然后我试着用下面的方法将来电号码与列表进行比较:

String phone = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
System.out.println("Incoming number - " + phone);

    boolean retval = numeri.contains(phone); 

    if (retval == true) {
      System.out.println("PHONE is contained in the list");
     }
    else {
      System.out.println("PHONE is not contained in the list");
     }
我试着用我的号码3401234567打电话

The println give me back: Incoming number: +393401234567

我还尝试通过添加国家前缀(+39)来更改数据库编号,但它不起作用

有人能帮我吗?谢谢


我认为它不是重复的,因为在另一个问题中,比较两个字符串,这里我想将一个字符串与arraylist进行比较

mySQLiteAdapter.getAllNumeri()  
如果是数字,那么下面的语句可能不会给出所需的输出,因为您正在尝试将数字与字符串进行比较

boolean retval = numeri.contains(phone); 

如果你做得对,你可以试着调试代码,这就是我的建议。你应该从你的数据库中选择数字,而不是选择全部,然后进行列表搜索。例如,当你得到这个数字时,做一个选择语句,如果找到了这个数字,它将返回这个数字,否则它不会返回t@k0sh您可以给我一个关于这个示例的帮助???getAllNumeri()返回带字符串的列表。。。。
mySQLiteAdapter.getAllNumeri()  
boolean retval = numeri.contains(phone);