【问题标题】:How can I compare out.writeObject("") with string? [closed]如何将 out.writeObject("") 与字符串进行比较? [关闭]
【发布时间】:2015-01-18 22:55:54
【问题描述】:

在我的 Android 登录活动中,当用户输入电子邮件和密码时,请求转到 servlet,然后 servlet 在数据库中检查它。如果电子邮件和密码匹配,则返回如下所示的响应。

out.writeObject("matches");

来了

ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());

现在从我的 Android 登录活动中,如果电子邮件和密码匹配,我想打开另一个活动。这里是代码

@Override
    protected void onPostExecute(String result) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
        System.out.println(result);
        if(result.equals("matches"))
        {
            System.out.println("valid user");
            Intent intent = new Intent(Login.this,Photos.class);
            startActivity(intent);
        }
    }

但我无法输入 if 条件。我打印显示匹配的字符串结果的值,并且当电子邮件和密码匹配时,我的 toast 消息也显示匹配。但即使result.equals("matches") 不满意。我是也没有收到任何错误。我知道我在某个地方犯了错误,但我不知道在哪里。我也试试

if(result.toString().equals("matches"))

但是不能得到输出。

【问题讨论】:

  • 也许你有一些不可打印的字符。
  • 但是 System.out.println(result) 在 if 条件的上面一行打印匹配
  • non-printable的定义意味着你不会在println()看到它
  • .toString() 不会做任何事情,因为 result 已经是一个字符串。

标签: java android regex servlets


【解决方案1】:

尝试修剪字符串:

if(result.trim().equals("matches"))
{
    ...
}

【讨论】:

  • 非常感谢,现在我可以打开新活动了
  • 完美,如果您认为答案有用,请点赞并采纳。
  • 我正在尝试接受我无法在 6 分钟后完成的答案
  • @bhargavthanki 如果解决了它,你根本没有这个代码:out.writeObject("matches");。你有" matches""matches " 等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 2022-08-14
相关资源
最近更新 更多