Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android If-else条件错误_Java_Android_Sqlite - Fatal编程技术网

Java Android If-else条件错误

Java Android If-else条件错误,java,android,sqlite,Java,Android,Sqlite,我不知道为什么下面的条款总是变假,即使它是真的。我比较的是一个字符串变量“classNameGlobal”中用户输入的文本的结果,以及一个DB查询的第二个结果,该查询从表的一列中得到一个字符串值。每当我运行控制开关到else状态时,不运行if部件-- 请看一看 String result[]; result = new String[cursor.getCount() - 1]; int i = 0; while (cursor.moveToNext()) { result[i]

我不知道为什么下面的条款总是变假,即使它是真的。我比较的是一个字符串变量“classNameGlobal”中用户输入的文本的结果,以及一个DB查询的第二个结果,该查询从表的一列中得到一个字符串值。每当我运行控制开关到else状态时,不运行if部件--

请看一看

String result[];
result = new String[cursor.getCount() - 1];
int i = 0;
while (cursor.moveToNext()) {
        result[i] = cursor.getString(cursor.getColumnIndex("name"));
        i++;
    }

 classNameGlobal = className.getText().toString().toUpperCase().trim();
注意:如果上面的代码是用onclick方法编写的,那么除了结果数组声明之外,其他都是。另外,我对存储在数据库中的字符串使用相同的方法,即我将其转换为大写,然后修剪任何额外的空格!!!即使在im转储来自用户输入字符串的查询和tat的结果时。两者都是一样的。现在为什么我总是让这个else部分运行,而不是if部分-——我用来比较数据库查询结果和用户输入字符串的方法是:

 for (int b = 0; b < result.length; b++) {

                if (classNameGlobal == result[b]) {
                    Log.d(TAG, "Inside if condition now : " + result[b] + " \t" + classNameGlobal);

                    db.execSQL("drop table if exists " + classNameGlobal);

                    /* Deleting Code File */
                    this.deleteFile(classNameGlobal + ".txt");

                    Toast.makeText(
                            this,
                            classNameGlobal + " Database Dropped Successfully ",
                            Toast.LENGTH_SHORT).show();

                    break;

                } else {
                    Toast.makeText(
                            this,
                            "No Such Database Exists",
                            Toast.LENGTH_SHORT).show();

                }

            }
for(int b=0;b
在Java中,将字符串内容与equals方法进行比较。与==运算符进行比较只是检查两个引用是否指向同一个对象

所以,改变

classNameGlobal == result[b]


在Java中,将字符串内容与equals方法进行比较。与==运算符进行比较只是检查两个引用是否指向同一个对象

所以,改变

classNameGlobal == result[b]

使用
if(classNameGlobal.equals(result[b])){
代替
=
使用
if(classNameGlobal.equals(result[b]){
代替
=