java - 为什么`equals`不比较字符串和字符串数组?
问题描述
我正在将来自 a 的输入TextEdit
与来自“answerList”的答案进行比较。现在我想知道:为什么不.equals()
比较“uinput” String
?有人可以向我解释一下并在代码中使用它吗?
提前致谢,祝您有美好的一天!
package ...
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
public TextView view1;
public String uinput;
public EditText edit1;
public TextView score_view;
public int score = 0;
public String[] questionList = {
"lux, luces",
"munus, munera",
"neglere",
};
public String[] answerList = {
"(dag)licht, dag",
"taak",
"verwaarlozen",
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.edit1 = findViewById(R.id.edit1);
this.view1 = findViewById(R.id.view1);
this.score_view = findViewById(R.id.score_view);
this.uinput = edit1.getText().toString();
view1.setText(questionList[0]);
}
public void check(View view) {
if (uinput.equals(answerList[0])) {
edit1.setBackgroundColor(Color.parseColor("#00FF00"));
score++;
score_view.setText(score);
} else {
edit1.setBackgroundColor(Color.parseColor("#FF0000"));
}
}
}
解决方案
OP 的问题涉及将 与uinput
数组中的元素进行比较questionList
。在该check
方法中,对 执行了比较uinput
,但uinput
在检查之前没有更新 的值。
public void check(View view) {
// ADD HERE: update the value of the input
uinput = edit1.getText().toString();
if (uinput.equals(answerList[0])) {
edit1.setBackgroundColor(Color.parseColor("#00FF00"));
score++;
score_view.setText(score);
} else {
edit1.setBackgroundColor(Color.parseColor("#FF0000"));
}
}
推荐阅读
- javascript - 使用 componentWillUnmount 上的 react router replace 方法覆盖后退按钮路由
- java - ManyToOne 关系上的 LazyInitialization 异常
- swift - Alamofire RequestRetrier,在主操作队列上调用完成块可以吗?
- flutter - 运行“flutter run -d web”时本地开发服务器的自定义 HTTP 标头
- query-optimization - Oracle SQL 查询中何时执行算术表达式?
- reactjs - 在 Material-ui 中变体类型为“outlined”的文本字段开头带有图标的自定义文本字段
- angular - 类型 'null' 不能分配给类型 'number'
- elasticsearch - ElasticSearch _search 检索对象数组中的嵌套对象
- javascript - DraftJs : 添加自定义 HTML + CSS 的自定义按钮
- apache-spark - 如何在 Databricks 中配置自定义 Spark 插件?