Java If语句don';t返回值
我试图做一个if语句来改变3个变量的值。问题是,即使条件为真,我也得不到任何值: 这里我得到了要检查的字符串: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;
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 likeString1.equals(string2)
当我们使用harcode字符串like“string”
时,那么=
和.equals
都是相同的,但无论何时我们使用字符串对象,总是使用。equals
使用。equals
表示字符串dude likeString1.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最好说“参考资料”=)