Тема: Чому не справджується умова ?
Є така проблемка, не справджується умова при тому, що два значення рівні.
Є ось така от умова:
if(sha1Hash == "53c1f6ee200f106be72db3ecd086b4de8e1e66bd")
{
true
}
else
{
false
}А ось повний код:
public void login(String userName, String password) {
    try {
      String md5Hash = LauncherFrame.getChecksum(Util.getWorkingDirectory() + File.separator + "bin" + File.separator + "minecraft.jar", "MD5");
      String sha1Hash = LauncherFrame.getChecksum(Util.getWorkingDirectory() + File.separator + "bin" + File.separator + "minecraft.jar", "SHA1");  
      
      if(sha1Hash == "53c1f6ee200f106be72db3ecd086b4de8e1e66bd")
      {
      String parameters = "user=" + URLEncoder.encode(userName, "UTF-8") + "&password=" + URLEncoder.encode(password, "UTF-8") + "&version=" + 1 + "&hash=" + URLEncoder.encode(md5Hash, "UTF-8");
      String result = Util.excutePost("http://секретно/bukkit_server/xAuth.php", parameters);
      if (result == null) {
        showError("Неможливо підключитися до сервера");
        loginForm.setNoNetwork();
        return;
      }
      if (!result.contains(":")) {
        if (result.trim().equals("Bad login")) {
          showError("Невірний логін або пароль");
        } else if (result.trim().equals("Old version")) {
          loginForm.setOutdated();
          showError("Потрібно оновити лаунчер");
        } else {
          showError(result);
        }
        loginForm.setNoNetwork();
        return;
      }
      String[] values = result.split(":");
      launcher = new Launcher();
      launcher.customParameters.putAll(customParameters);
      launcher.customParameters.put("userName", values[2].trim());
      launcher.customParameters.put("latestVersion", values[0].trim());
      launcher.customParameters.put("downloadTicket", values[1].trim());
      launcher.customParameters.put("sessionId", values[3].trim());
      launcher.init();
      removeAll();
      add(launcher, "Center");
      validate();
      launcher.start();
      loginForm.loginOk();
      loginForm = null;
      setTitle("Minecraft");
      }
      else
      {
       //loginForm.setOutdated();
       showError(sha1Hash);
      }
    } catch (Exception e) {
      e.printStackTrace();
      showError(e.toString());
      loginForm.setNoNetwork();
    }
  }Змінна sha1Hash отримує таке саме значення, як вписано при порівнянні, але при тому умова не справджується.
В чому може бути причина ?
P.S: але якщо змінній sha1Hash зразу присвоїти значення 
53c1f6ee200f106be72db3ecd086b4de8e1e66bd, а не присвоювати результат
LauncherFrame.getChecksum(Util.getWorkingDirectory() + File.separator + "bin" + File.separator + "minecraft.jar", "SHA1")то умова справджується.

