java - String.equals() 不起作用

标签 java android

我的问题是这行不通:

if (result.equals("success")) {
    Toast.makeText(MainActivity.myContext, "Hausaufgabe eingetragen!", Toast.LENGTH_LONG).show();
    startSync(lv);
}
else if (result.equals("already exists")) {
    Toast.makeText(MainActivity.myContext, "Hausaufgabe wurde bereits eingetragen!", Toast.LENGTH_LONG).show();
}
else if (result.equals("user not exists")){
    Toast.makeText(MainActivity.myContext, "Das eingespeicherte Benutzerkonto ist ungültig oder gelöscht worden!", Toast.LENGTH_LONG).show();
}
else if (result.equals("server problem")){
    Toast.makeText(MainActivity.myContext, "Ein Server Problem ist aufgetreten!\n" + "Bitte melden!", Toast.LENGTH_LONG).show();
}
else {
    Toast.makeText(MainActivity.myContext, "Unbekannte Rückmeldung des Servers:\n" + result, Toast.LENGTH_LONG).show();
}

Log.d("API",result);

LogCat 显示 API:成功,但应用程序中的反馈是“Unbekannte Rückmeldung des Servers: 成功”

最佳答案

使用trim() 方法,因为您的变量result 可能包含一个空格,例如“success”:

if (result.trim().equals("success")) {
...
...

您可以使用 toLowerCase() 方法进行补充,以防止像“Success”这样的大写字母句柄:

 if (result.trim().toLowerCase().equals("success")) {
    ...
    ...

或者尝试使用 indexOf() 方法

例如:

if (result.indexOf("success") > 0) {
...
...

关于java - String.equals() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26765020/

相关文章:

java - 是否可以让我的自定义验证注释在持久化时被忽略?

java - Android:对字符串中的匹配项进行着色

android - OpenSL ES 安卓 : "Too many objects" SL_RESULT_MEMORY_FAILURE

java - 如何将元素放入数组列表的特定位置

java - Android:浏览 Activity 层次结构

android - 如何将ActionBarSherlock的库添加到项目中?

android - 泄露 Intent 和警报管理器

android - 如何在 Google Play 中为每个国家分配不同的应用名称

java - HTTPURLConnection.getInputStream() 需要很长时间?

java - 从文件创建扫描仪时抛出 FileNotFoundException