• Nenhum resultado encontrado

OUTRAS CLASSES IMPORTANTES DO JAVA STANDARD EDITION

No documento Java Cederj (páginas 162-169)

Bibliotecas do Java Standard Edition (JSE)

OUTRAS CLASSES IMPORTANTES DO JAVA STANDARD EDITION

Classes Wrapper para conversão de tipo

Um outro problema importante na programação pelo qual já passamos, mas que só encontramos algumas soluções nas classes das bibliotecas do Java, é o de conversão de tipos.

As classes responsáveis por conversão de tipo são chamadas classes

Wrapper, já que elas “embrulham” a variável no tipo adequado que foi

solicitada à conversão.

Você pode utilizar as classes Wrapper para efetuar conversões de String ou para utilizar tipos primitivos como classes.

Lembre que para transformarmos um tipo int, por exemplo, numa String basta utilizarmos o operador de concatenação “+” junto da String que está sendo utilizada.

AULA

8

Veja este exemplo, onde transformamos um int numa String somente concatenando-a com uma outra String e depois transformamos uma String num int por meio da classe Wrapper Integer, utilizando seu método parseInt. Sempre que quisermos realizar uma operação mate- mática com alguma String que foi recebida, devemos transformá-la num numérico antes de realizar o cálculo.

Existem classes Wrapper para todos os tipos primitivos, conforme mostrado na tabela abaixo:

Tipos primitivos de dados Classes wrapper correspondentes

boolean Boolean char Character byte Byte short Short int Integer long Long fl oat Float double Double

Uma observação importante é que as classes Wrapper fazem parte do pacote java.lang, assim não precisam ser importadas para sua utilização.

Classes do pacote java.io para tratamento de entrada e saída

Continuando nosso passeio pelas bibliotecas nativas que já são contempladas pelo JDK, vamos ver um outro pacote muito importante, o java.io, que trata do processamento de entrada e saída em Java.

Em Java, todo tratamento de entrada e saída é feito como um fl uxo de bytes, o que dá um poder polimórfi co muito grande, visto que esse fl uxo pode ser de qualquer coisa como um caractere, uma String ou uma linha de caracteres, e sua origem pode ser a padrão do sistema, um arquivo, um socket, um post ou qualquer outra coisa, mas tanto faz, pois serão tratados pelas mesmas classes. Afi nal, temos o polimorfi smo!

Num fl uxo de saída em Java, podemos escrever bytes (num

arquivo, na tela etc.), e a classe abstrata OutputStream defi ne o com-

portamento desse fl uxo.

Num fl uxo de entrada em Java, podemos ler bytes (de um arquivo,

do teclado etc.), e a classe abstrata InputStream defi ne o comportamento

desse fl uxo.

Vamos começar a executar as atividades dos programas referentes a operações de entrada e saída em Java.

Nessa primeira atividade você irá implementar uma classe que faz a leitura de uma linha inserida pelo teclado. Preste atenção nos comentários para aprender o que cada uma das classes utilizadas faz nesse programa. Por fi m, execute essa classe na sua IDE e utilize a parte inferior no console para inserir uma frase qualquer e testar seu funcionamento.

Atividade prática 5

3 1

AULA

8

Vamos ser mais ousados agora. Nossa classe não lerá mais do teclado, o que estava fácil, já que o teclado é a entrada padrão do sistema. Agora queremos

ler de um arquivo, então precisamos de uma fi lha concreta de InputStream que saiba ler um arquivo. Essa classe existe e se chama FileInputStream.

Crie um arquivo teste.txt como o da fi gura a seguir na raiz de seu projeto no NetBeans:

Implemente agora a classe para ler esse arquivo conforme o código a seguir e anote as observações para discutirmos no fórum da semana. O que precisamos fazer para lermos não apenas uma única linha, mas todas como na classe implementada?

Atividade prática 6

3 1

Por fi m, analogamente aos exemplos de leitura ou entrada de dados, imple- mentados com a classe InputStream, vamos fazer a classe para realizar a escrita ou saída de dados, onde a classe a ser trabalhada é a OutputStream.

Implemente a classe a seguir e veja que ao atualizar seu projeto com F5, o arquivo escrita.txt é criado e, ao abri-lo, você verá o conteúdo que foi escrito no seu interior com o método write.

Atividade prática 7

3 1

INFORMAÇÕES SOBRE FÓRUM

Vamos entrar no fórum para discutirmos as dúvidas de vocês. Participem, troquem informações.

Também não percam o chat da semana o horário e o dia serão colocados na página do fórum.

Vamos rever os principais conceitos vistos nesta aula.

• Uma das principais premissas da programação orientada a objetos é a reutilização de classes que já estejam prontas para serem utilizadas; assim, o Java Standard Edition possui mais de 3.500 classes para serem reutilizadas pelo programador.

• Dentre elas, as mais importantes para qualquer nível de desenvolvedor são R E S U M O

AULA

8

• Todos os detalhes dos métodos e outras informações importantes das classes Math e String podem ser obtidas por meio dos javadocs das respectivas classes no site da Sun, podendo também ser baixados para o seu computador para ser consultado.

• Javadocs é o formato de documentação ofi cial implementado pelo Java por meio de páginas navegáveis (html).

• As variáveis do tipo String armazenam parâmetros como referências a objetos e não um valor defi nido como nos tipos primitivos; assim, não podemos comparar os conteúdos de Strings com o operador de igualdade “==”.

• Mas como é uma operação muito comum, o Java possui uma forma de comparar o conteúdo de dois objetos por meio do método equals( ). • Um outro problema importante na programação é o de conversão de tipos,

executados pelas classes Wrapper, que efetuam conversões de String ou para utilizar tipos primitivos como classes.

• Para transformarmos um tipo int numa String, basta utilizarmos o operador de concatenação “+” junto da String que está sendo utilizada.

• Já para realizarmos a operação inversa, utilizamos as classes Wrapper com seus respectivos métodos de parse de acordo com o tipo solicitado. Por exemplo, transformamos uma String num int por meio da classe Wrapper

Integer, utilizando seu método parseInt.

• Sempre que quisermos realizar uma operação matemática com alguma String que foi recebida, devemos transformá-la num numérico antes de realizar o cálculo, mas também existem classes Wrapper para todos os outros tipos primitivos.

• Em Java, todo tratamento de entrada e saída é feito como um fl uxo de bytes por meio das classes do pacote java.io, o que lhe concede alto nível de polimorfi smo.

• Num fl uxo de saída em Java, podemos escrever bytes (num arquivo,

na tela etc.) e a classe abstrata OutputStream defi ne o comportamento

desse fl uxo.

• Num fl uxo de entrada em Java, podemos ler bytes (de um arquivo, do

teclado etc.) e a classe abstrata InputStream defi ne o comportamento

Na próxima aula, iremos começar uma das partes mais legais do Java SE, programação gráfi ca com AWT e Swing. Enfi m, vamos começar a desenhar as famosas janelas desktop do Windows. Não percam.

No documento Java Cederj (páginas 162-169)