Java Android:String类';s equals方法的行为突然

Java Android:String类';s equals方法的行为突然,java,android,string,sqlite,Java,Android,String,Sqlite,我正在读取一个文本文件,并从中插入一个值,假设ID=1s001(字符串)。 我再次读取文件,但这一次我想确保如果这些文件中的ID不同,我会读取文件,因为我正在从db中重新读取值,并与当前ID进行比较 像这样 Id(来自deb)。等于(当前ID) 但不幸的是,即使ID=1s001 equals方法返回false 我唯一能找到的是currentID.length=6&Id(来自deb)。length返回5。我不知道是什么原因造成的?有什么想法吗 实际代码: Cursor cursor = datab

我正在读取一个文本文件,并从中插入一个值,假设ID=1s001(字符串)。 我再次读取文件,但这一次我想确保如果这些文件中的ID不同,我会读取文件,因为我正在从db中重新读取值,并与当前ID进行比较

像这样 Id(来自deb)。等于(当前ID)

但不幸的是,即使ID=1s001 equals方法返回false

我唯一能找到的是currentID.length=6&Id(来自deb)。length返回5。我不知道是什么原因造成的?有什么想法吗

实际代码:

Cursor cursor = database.query(StorageDataBase, allColumns,
                null, null, null, null, null);
        int count = cursor.getCount();

        if(count>0){
            if(cursor.moveToFirst())
            {
                String slsManCode=cursor.getString(cursor.getColumnIndex("sales_man_id"));
                System.out.println(slsManCode.length()+"            "+salesManCode.length());
                boolean is=slsManCode.trim().equals(salesManCode.trim());

                                if(slsManCode.contains(salesManCode))
                {
                    return true;
                }

db中的每一个冒号都是文本。

我已经找到了导致这种情况的原因,实际上这是一个编码问题。

这可能是因为一些额外的空间。试试
id.trim().equals(currentId.trim())
你能发布一些代码吗?你能看到字符串值吗?从调试器内部或通过将它们写入logcat来进行说明。它们看起来一样吗?@NigelK:我举的值就是真实值。是的,它们至少在我看来是一样的;