SóProvas


ID
3475840
Banca
INSTITUTO AOCP
Órgão
IBGE
Ano
2019
Provas
Disciplina
Programação
Assuntos

Na linguagem Java, é possível comparar diferentes tipos de dados, como caracteres e numéricos. Quando se compara valores de tipos de dados primitivos, o resultado é true se ambos os valores forem idênticos, o mesmo ocorre com as referências. Nesse sentido, analise o seguinte trecho de código e assinale a alternativa que apresente um trecho de código que faça uma comparação entre as strings, retornando como resultado true.

(...)
    s1 = new String("mundo");

(...)

Alternativas
Comentários
  • == -> compara referências e tipos primitivos

    equals -> compara strings

  • -O método equals testa à igualdade. O método retorna true se o conteúdo de Strings for igual e false se for diferente.

    -Quando as referências são comparadas com ==, o resultado é true se ambas referenciarem o mesmo objeto.

    Alternativa: E

  • Complementando a resposta do Gilmar:

    Quando atribuímos a uma String um determinado valor, o JAVA tenta por sua vez sempre apontar para o texto que já consta no 'pull' de Strings.

    Exemplo

    String teste1 = "A";

    String teste2 = "A";

    teste1 == teste2 ->> Verdadeiro pq ambos apontam para o mesmo endereço de memória.

    Aqui que mora o problema, nem sempre os endereços de uma String são iguais pois na criação de uma String pode ter sido solicitado a alocação de um novo local de memória, como o caso abaixo:

    Exemplo2

    String teste1 = "A";

    String teste2 = new String("A");

    teste1 == teste2 ->> Falso.