12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

STRINGC A P Í T U L O16A classe String é utilizada em praticamente todas as aplicações Java. Consequentemente, osprogramadores Java <strong>de</strong>vem conhecer bem o funcionamento <strong>de</strong>la. A documentação da classe Stringpo<strong>de</strong> ser consultada na url http://docs.oracle.com/javase/7/docs/api/java/lang/String.html.Pool <strong>de</strong> StringsA maneira mais simples para criar ou obter um objeto da classe String é <strong>de</strong>finir diretamente oseu conteúdo no código fonte com “"”.1 String nome = " Rafael Cosentino ";Código Java 16.1: string literalAs strings criadas ou obtidas <strong>de</strong> forma literal são mantidas <strong>de</strong>ntro da classe String no chamadoPool <strong>de</strong> Strings. Dentro do Pool <strong>de</strong> Strings, não há strings “repetidas”, ou seja, não há dois objetoscom o mesmo conteúdo. Esse aspecto da linguagem Java tem por objetivo diminuir o consumo <strong>de</strong>memória.Para comparar o conteúdo <strong>de</strong> duas strings que estão <strong>de</strong>ntro do Pool <strong>de</strong> Strings, po<strong>de</strong>mos utilizaro operador “==” ou o método equals().1 String nome1 = " Rafael Cosentino ";2 String nome2 = " Rafael Cosentino ";34 // imprime true5 System . out . println ( nome1 == nome2 );6 // imprime true7 System . out . println ( nome1 . equals ( nome2 ));Código Java 16.2: Comparando strings do Pool <strong>de</strong> StringsTambém po<strong>de</strong>mos utilizar os construtores da classe String para criar objetos.1 String nome = new String (" Rafael Cosentino ");Código Java 16.3: strings não literaisQuando criamos strings através dos construtores da classe String, elas não são mantidas no Pool<strong>de</strong> Strings. Portanto, não po<strong>de</strong>mos comparar o conteúdo <strong>de</strong>las através do operador “==”. Nesse caso,<strong>de</strong>vemos utilizar o método equals().1 String nome1 = new String (" Rafael Cosentino ");2 String nome2 = new String (" Rafael Cosentino ");34 // imprime falsewww.<strong>k19</strong>.com.br 141

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!