Arnav Varshney Ответов: 1

Ошибка при сравнении двух строк


Я пытаюсь создать программу, которая требует, чтобы человек сначала вошел в систему!
Мой код выглядит следующим образом:
import comp102x.IO;
/*import java.awt.Toolkit;
import java.lang.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;*/
public class Main
{
    public void loginCheck()
    {
        String correctPassword = new String();
        correctPassword = "sanvar55";
        String password = new String();
        System.out.print("Enter Password:");
        password = IO.inputString();
        System.out.println(password);
        if(password=="sanvar55")
        {
            System.out.println("Correct Password");
            //CopyStringToClipboard(password);
        }
        else
        {
            System.out.println("Incorrect Password!");
        }
    }
    /*private static void CopyStringToClipboard(String input) 
    {
        String str = input;
        Toolkit toolkit = Toolkit.getDefaultToolkit();
        Clipboard clipboard = toolkit.getSystemClipboard();
        StringSelection strSel = new StringSelection(str);
        clipboard.setContents(strSel, null);
    }*/
}


Что я уже пробовал:

Но при выполнении я получаю следующий вывод:
Enter Password:sanvar55
sanvar55
Incorrect Password!

Я не в состоянии понять, почему он это делает?

[no name]

Потому что вы сравниваете строковые ссылки, которые не являются одинаковыми. используйте equals () для сравнения ваших строк.

Arnav Varshney

Спасибо!

1 Ответов

Рейтинг:
11

CPallini

Смотрите, например, здесь: Как сравнить строки в Java? - переполнение стека[^].