Boolean sempre dando false

Boa noite. Estou com um problema no código e não sei dizer o porquê de isso estar acontecendo. O código sempre dá como false quando ele vai checar se é verdadeiro ou falso. Segue o código abaixo :

import java.util.Scanner;
public class Produto {

private String nome,check;
private double preço;
private int quantidadeEstoque;

//CONSTRUTOR
public Produto(String nome, double preço, int quantidadeEstoque) {

this.nome = nome;
this.preço = preço;
this.quantidadeEstoque = quantidadeEstoque;

}

//METODOS

public void verificarEstoque() {
Scanner ler = new Scanner(System.in);
System.out.println("Verificando estoque, digite o nome do produto: ");
check = ler.nextLine();
if (check == nome) {
System.out.println(true);
}
else{
System.out.println(false);
}
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getCheck() {
return check;
}

public void setCheck(String check) {
this.check = check;
}

public double getPreço() {
return preço;
}

public void setPreço(double preço) {
this.preço = preço;
}

public int getQuantidadeEstoque() {
return quantidadeEstoque;
}

public void setQuantidadeEstoque(int quantidadeEstoque) {
this.quantidadeEstoque = quantidadeEstoque;
}
}

Essa é a primeira parte do código, a segunda vem em seguida:

public class Principal {

public static void main(String[] args) {

Pagamento p1 = new Pagamento(); //Esta linha é referente a outra classe, pode ser ignorada.
Produto pr1 = new Produto ("Chocolate",3.40,5); //Aqui é onde ocorre o problema, mesmo digitando ou copiandoo primeiro parametro
//sempre dá como falso

    pr1.verificarEstoque();
	p1.selecionarTipoPagamento();//referente a outra classe, pode ser ignorada
	p1.realizarPagamento(); //referente a outra classe, pode ser ignorada
}

}

Se alguém puder me explicar o porquê de estar dando esse erro eu agradeço.

Strings são objetos, então a princípio quando você compara Strings usando “==” está comparando se elas são o mesmo objeto, não se possuem o mesmo conteúdo.

Use o método “equals()” para comparar Strings, exemplo: “nome.equals(check)”. Você pode usar “equalsIgnoreCase()” para não diferenciar maiúsculas e minúsculas.

Cara, resolveu meu problema e me fez entender facilmente, sensacional, muito obrigado! (Sou novo aqui, sou eu que devo fechar o tópico ou algum moderador faz isso?)

Não é necessário fechar o tópico.

@watcherxv Só marcar a resposta que te ajudou como Solução. (tem a opção nos botões na resposta que te ajudou)