Informática, perguntado por dener1307, 4 meses atrás

Avalie o seguinte código:


public class Teste {
public static void main(String[] args)
{
String s1 = new String("Ola");
String s2 = new String("Ola");
String s3 = s1;
System.out.println(s1 == s2); //PRIMEIRA COMPARAÇÃO
System.out.println(s1.equals(s2)); //SEGUNDA COMPARAÇÃO




System.out.println(s1 == s3); //TERCEIRA COMPARAÇÃO
}
}




Sobre o tópico em questão considere as afirmações a seguir:


I-A primeira comparação é avaliada como verdadeira


II- A segunda comparação é avaliada como falsa


III- A terceira comparação é avaliada falsa

É correto apenas o que se afirma em


A I apenas
B II apenas
C I e II apenas
D I e III apenas
E Nenhum dos itens está correto.

Soluções para a tarefa

Respondido por taironycristian
5

Resposta:

B

Explicação:

| - é falsa pois S1 == S2 faz referencia ao endereço de memória, como no código tem o comando "NEW" é criado um endereço para S1 e outro para S2.

||| - S1 = S3 como na primeira comparação faz referencia ao endereço de memória, mas desta vez está se referindo ao mesmo endereço porque não tem o comando "NEW" o S3 está recebendo o S1


rodrigomacieln: ALTERNATIVA CORRETA "E": (FALSO) I. s1 e s2 são instâncias diferentes com o mesmo conteúdo. O == neste caso compara apenas se são a mesma instância e por isso resulta em falso.

(FALSO) II. O método equals compara o conteúdo e por isso é verdadeiro.

(FALSO) III. s1 e s3 são a mesma instância por isso o resultado é verdadeir
Respondido por felipetimbo93
1

Resposta:

Explicação:

RESPOSTA: LETRA B.

Perguntas interessantes