Problema com uma condição no if java

É o seguinte, tenho um programa bem simples e básico que o usuário cadastra aluno(s) e seus atributos e o programa pega os dados de aluno e adiciona em uma matriz nx3. Nesse programa tem 4 opções, são elas: Cadastrar, imprimir, alterar e excluir. Meu problema acontece com alterar.
Minha ideia é que quando o usuário escolher a opção de alterar, o programa solicita que o usuário digite a matricula do aluno que ele deseja alterar e aí o programa vai alterar. No meu código eu pego a matricula que o usuário digita e faço uma varredura na matriz até encontrar o aluno que essa matricula e quando achar o programa deveria entrar o if e executar o comandos, mas mesmo digitando uma matricula que sei que tem na matriz o programa simplesmente não entra no if, da como se a condição fosse falsa, esse é o problema que estou tendo.
Segue o código dessa parte que falei:

String matricula1="";
System.out.println("Digite a matricula do aluno que deseja alterar: ");
matricula1 = ler.next();
	for(int linha2=0;linha2<qtdAluno;linha2++) {
		if(arrayAluno[linha2][1]==matricula1) {
                 ...
                 ...
            }
     }

Exatamente esse if que não está entrando, escrevi a condição do jeito certo?? não sei como resolver pra que ele veja a condição com verdadeira e execute os comandos do if.
OBS: Tanto a matriz "arrayAluno"como a variável “matricula” são String.

Tente: matricula1 = ler.nextLine();

A comparação entre strings é feita com equals:
if(arrayAluno[linha2][1].equals(matricula1)){ ... }

Use o debug na linha do if e veja se o valor atual das variáveis é o esperado.

1 curtida

@bdot Era isso mesmo cara, muito obrigado
Faz tempo que não uso Java, nem lembrava do equals kkkkk era a falta dele o problema.