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...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

STRING 1425 System . out . println ( nome1 == nome2 );6 // imprime true7 System . out . println ( nome1 . equals ( nome2 ));Código Java 16.4: Comparando strings fora do Pool <strong>de</strong> StringsImutabilida<strong>de</strong>Uma característica fundamental dos objetos da classe String é que eles são imutáveis. Em outraspalavras, o conteúdo <strong>de</strong> uma string não altera.Alguns métodos das strings po<strong>de</strong>m dar a impressão errada <strong>de</strong> que o conteúdo do objeto seráalterado. Por exemplo, o método toUpperCase() que é utilizado para obter uma string com letrasmaiúsculas. Esse método não altera a string original, ele cria uma nova string com o conteúdo diferente.1 String nome = " Rafael Cosentino ";23 nome . toUpperCase ();45 // imprime Rafael Cosentino6 System . out . println ( nome );Código Java 16.5: Pegadinha. . .1 String nome = " Rafael Cosentino ";23 String nomeAlterado = nome . toUpperCase ();45 // imprime RAFAEL COSENTINO6 System . out . println ( nomeAlterado );Código Java 16.6: Guardando o resultado do toUpperCase()Mais SobrePo<strong>de</strong>mos alterar o conteúdo <strong>de</strong> qualquer objeto Java <strong>de</strong> forma invasiva utilizando reflection.Não seria uma boa prática utilizar esses mecanismos para “forçar” modificaçõesnos objetos da classe String pois os efeitos colaterais causados no restante do código po<strong>de</strong>mser drásticos.Métodos principaisTodos os métodos da classe String po<strong>de</strong>m ser consultados na url http://docs.oracle.com/javase/7/docs/api/java/lang/String.html. Discutiremos aqui o funcionamento dos principaismétodos <strong>de</strong>ssa classe.length()O método length() <strong>de</strong>volve a quantida<strong>de</strong> <strong>de</strong> caracteres <strong>de</strong> uma string.142 www.<strong>k19</strong>.com.br

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

Saved successfully!

Ooh no, something went wrong!