我很难用Android比较Android中的两个字符串,我正在做的是运行HTTP get请求,返回yes或no,并根据我决定是否启动新活动。
我在Async onPostExecute方法中执行字符串比较,虽然HTTP返回的字符串是yes但它对我不起作用。
这是代码
protected void onPostExecute(String result) {
progressDialog.dismiss();
if(result.equals("yes"))
{
Intent toDashboard = new Intent(LoginActivity.this,Dashboard.class);
startActivity(toDashboard);
Toast.makeText(LoginActivity.this, "It was yes", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(LoginActivity.this, result, Toast.LENGTH_LONG).show();
}
}
虽然返回的字符串为yes,但它仍会跳过if语句并创建一个显示“是”的Toast。
我还尝试了一些匹配字符串的其他方法,它们都在这里
if(result == "yes")
if(result.toString().equals("yes"))
if(result.contentEquals("yes"))
if(result.equalsIgnoreCase("yes"))
它们都不适合我
答案 0 :(得分:8)
结果可能会有一些空格。
尝试修剪它。
result.trim().equals("yes")
答案 1 :(得分:2)
试试这个
str1.toLowerCase()。contains(str2.toLowerCase())
它对我有用