Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.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 If语句don';t返回值_Java_Android_If Statement - Fatal编程技术网

Java If语句don';t返回值

Java If语句don';t返回值,java,android,if-statement,Java,Android,If Statement,我试图做一个if语句来改变3个变量的值。问题是,即使条件为真,我也得不到任何值: 这里我得到了要检查的字符串: final String[] pos_categ ; pos_categ = intent1.getExtras().getStringArray("categ"); 在这里,我实现了我想要更改的变量: String[] title = null; String[] eng = null; final String[] dan = null;

我试图做一个if语句来改变3个变量的值。问题是,即使条件为真,我也得不到任何值:

这里我得到了要检查的字符串:

    final String[] pos_categ ;
    pos_categ = intent1.getExtras().getStringArray("categ");
在这里,我实现了我想要更改的变量:

    String[] title = null;
    String[] eng = null;
    final String[] dan = null;
以下是if声明:

    if (pos_categ[0]==lessons_titles[0]){
        title[0] = lessons_titles[position[0]];
        eng[0] = eng_version[position[0]];
        dan[0] = dan_version[position[0]].toLowerCase();
    }
    if (pos_categ[0]==lessons_titles2[0]){
        title[0] = lessons_titles2[position[0]];
        eng[0] = eng_version2[position[0]];
        dan[0] = dan_version2[position[0]].toLowerCase();
    }
    if (pos_categ[0]==lessons_titles3[0]){
        title[0] = lessons_titles3[position[0]];
        eng[0] = eng_version3[position[0]];
        dan[0] = dan_version3[position[0]].toLowerCase();
    }
    if (pos_categ[0]==lessons_titles4[0]){
        title[0] = lessons_titles4[position[0]];
        eng[0] = eng_version4[position[0]];
        dan[0] = dan_version4[position[0]].toLowerCase();
    }
    if (pos_categ[0]==lessons_titles5[0]){
        title[0] = lessons_titles5[position[0]];
        eng[0] = eng_version5[position[0]];
        dan[0] = dan_version5[position[0]].toLowerCase();
    }
    if (pos_categ[0]==lessons_titles6[0]){
        title[0] = lessons_titles6[position[0]];
        eng[0] = eng_version6[position[0]];
        dan[0] = dan_version6[position[0]].toLowerCase();
    }

    title_view.setText(title[0]);
    eng_view.setText(eng[0]);
    dan_view.setText(dan[0]);
有人能告诉我哪里出错了吗?

在Java中,使用string.equals()按内容检查字符串相等性:

if (pos_categ[0].equals(lessons_titles[0])){
  ....
}
在Java中,使用string.equals()按内容检查字符串相等性:

if (pos_categ[0].equals(lessons_titles[0])){
  ....
}

使用
.equals
表示字符串dude like
String1.equals(string2)
当我们使用harcode字符串like
“string”
时,那么
=
.equals
都是相同的,但无论何时我们使用字符串对象,总是使用
。equals
使用
。equals
表示字符串dude like
String1.equals(string2)
当我们使用harcode字符串时,比如
“string”
,然后
==
.equals
都是相同的,但是当我们使用string对象时,总是使用
。equals

使用下面的代码:

if (pos_categ[0].equals(lessons_titles[0])){
            title[0] = lessons_titles[position[0]];
            eng[0] = eng_version[position[0]];
            dan[0] = dan_version[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles2[0])){
            title[0] = lessons_titles2[position[0]];
            eng[0] = eng_version2[position[0]];
            dan[0] = dan_version2[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles3[0])){
            title[0] = lessons_titles3[position[0]];
            eng[0] = eng_version3[position[0]];
            dan[0] = dan_version3[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles4[0])){
            title[0] = lessons_titles4[position[0]];
            eng[0] = eng_version4[position[0]];
            dan[0] = dan_version4[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles5[0])){
            title[0] = lessons_titles5[position[0]];
            eng[0] = eng_version5[position[0]];
            dan[0] = dan_version5[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles6[0])){
            title[0] = lessons_titles6[position[0]];
            eng[0] = eng_version6[position[0]];
            dan[0] = dan_version6[position[0]].toLowerCase();
        }

        title_view.setText(title[0]);
        eng_view.setText(eng[0]);
        dan_view.setText(dan[0]);
使用以下代码:

if (pos_categ[0].equals(lessons_titles[0])){
            title[0] = lessons_titles[position[0]];
            eng[0] = eng_version[position[0]];
            dan[0] = dan_version[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles2[0])){
            title[0] = lessons_titles2[position[0]];
            eng[0] = eng_version2[position[0]];
            dan[0] = dan_version2[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles3[0])){
            title[0] = lessons_titles3[position[0]];
            eng[0] = eng_version3[position[0]];
            dan[0] = dan_version3[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles4[0])){
            title[0] = lessons_titles4[position[0]];
            eng[0] = eng_version4[position[0]];
            dan[0] = dan_version4[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles5[0])){
            title[0] = lessons_titles5[position[0]];
            eng[0] = eng_version5[position[0]];
            dan[0] = dan_version5[position[0]].toLowerCase();
        }
        if (pos_categ[0].equals(lessons_titles6[0])){
            title[0] = lessons_titles6[position[0]];
            eng[0] = eng_version6[position[0]];
            dan[0] = dan_version6[position[0]].toLowerCase();
        }

        title_view.setText(title[0]);
        eng_view.setText(eng[0]);
        dan_view.setText(dan[0]);

你在哪里初始化了title,eng,dan的值?第一件事:如果你在哪里初始化了title,eng,dan的值,你应该用else,而不是if?第一件事:如果你初始化了title,eng,dan的值,你应该用else,而不是if,这是正确的!“string==string”比较实际对象,而不是它们的字符串内容!@AndiKrusch最好说“references”=)这是正确的!“string==string”比较的是实际对象,而不是它们的字符串内容@AndiKrusch最好说“参考资料”=)