SóProvas


ID
1784668
Banca
UFMT
Órgão
DETRAN-MT
Ano
2015
Provas
Disciplina
Programação
Assuntos

Analise o seguinte código na linguagem Java: 

01. public class StringExemplo {

02. static String s1 = "conteudo";

03. public static void main(String[] args) {

04. String s2 = "conteudo";

05. String s3 = new String(s1);

06. System.out.println(s1 == s2);

07. System.out.println(s3 == s1);

08. System.out.println(s1.equals(s2));

09. System.out.println(s3.equals(s1));

10. }

11. }


Assinale a afirmativa que apresenta a linha que irá imprimir “false".


Alternativas
Comentários
  • s1 é explicitamente static e s2 não foi instanciado, logo retornará true. A linha 8 e 9 também pois utilizou equals, sonha linha 7

  • Java mantém uma pool de Strings. Se atribuir a mesma string para duas variáveis, ambas irão apontar para o mesmo objeto dessa pool. Por isso a linha 06 é true.

    Na linha 7 será false porque a s3 foi criada usando o "new", o que força a criação de um novo objeto.

    Os "equals" comparam o conteúdo, então independe se está referenciando o mesmo objeto ou não