SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Fundamentos da Linguagem Java



   Classes Básicas da API do Java

               Wrapper Classes



           Ludimila Monjardim Casagrande
                       2012
Wrapper Classes

     Cada tipo primitivo do Java possui a sua
        wrapper class correspondente.

     Uma wrapper class é simplesmente uma classe
        que encapsula um único e imutável valor.

     Por exemplo, a classe Integer encapsula um
        valor do tipo int e a classe Float encapsula um
        valor do tipo float.



Fundamentos do Java    ©2012 Ludimila Monjardim Casagrande   2
Wrapper Classes

     As Wrapper Classes do Java são:
           Boolean                   boolean
           Byte                      byte
           Character                 char
           Short                     short
           Integer                   int
           Long                      long
           Float                     float
           Double                    double
Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   3
Construtores das Wrapper Classes

     Normalmente, as Wrapper Classes admitem
        dois construtores, um que recebe o tipo primitivo
        correspondente como argumento e outro que
        recebe uma String como argumento (Character
        é uma exceção).

     Exemplo:
           Double d1 = new Double(1.0);
           Double d2 = new Double(“1.0”);


Fundamentos do Java     ©2012 Ludimila Monjardim Casagrande   4
Instanciando uma Wrapper Class

     Formas de instanciar uma Wrapper Class:
          boolean b1 = true;
          Boolean b2 = new Boolean(b1);
          Boolean b3 = new Boolean(false);
          short s1 = 41;
          Short s2 = new Short(s1);        //Não dá para passar 41 direto,
          Short s3 = new Short((short)41); //porque esse valor é considerado int
          Integer i1 = new Integer(1000);
          Integer i2 = new Integer(“1000”);
          Float f1 = new Float(1.0f);
          Float f2 = new Float("1.0"); //Se a String passada como argumento
                                        //não for um número ou não pertencer ao
                                       //intervalo correspondente ao float, então a
                                       //exceção NumberFormatException é
                                       //lançada


Fundamentos do Java              ©2012 Ludimila Monjardim Casagrande                  5
Convertendo String para Tipo Primitivo

     As Wrapper Classes fornecem métodos para a
        conversão de uma String em um tipo primitivo
        correspondente.
     Exemplos desses métodos são:
           byte b = Byte.parseByte("1");
           long l = Long.parseLong("1");
           int i     = Integer.parseInt("1");
           double d = Double.parseDouble("1");


Fundamentos do Java          ©2012 Ludimila Monjardim Casagrande   6
Recuperando o Tipo Primitivo

     Cada Wrapper Class também fornece um
        método que retorna o tipo primitivo por ela
        encapsulado.
     As assinaturas desses métodos são:
           public byte byteValue( );
           public short shortValue( );
           public int intValue( );
           ...


Fundamentos do Java        ©2012 Ludimila Monjardim Casagrande   7
Wrapper Classes e Collections

     Os métodos para adição de elementos em uma
        coleção, normalmente, admitem um objeto
        como argumento e não um tipo primitivo.

     Veja o exemplo do método add da classe
        ArrayList:
           public boolean add(Object o)




Fundamentos do Java      ©2012 Ludimila Monjardim Casagrande   8
Wrapper Classes e Collections

     Sendo assim, para armazenar um tipo primitivo
        em uma coleção é necessário encapsulá-lo
        usando a Wrapper Class correspondente para,
        então, adicioná-lo à coleção.
     Exemplo:
            boolean b1 = true;
            Boolean b2 = new Boolean(b1);
            ArrayList list = new ArrayList();
            list.add(b2);

Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   9
String e Tipos Primitivos

     A classe String oferece os seguintes métodos
        estáticos (isto é, métodos que independem de uma
        instância) para obter uma cadeia de caracteres
        (String) a partir de um dado tipo primitivo:
           public static String valueOf(boolean b)
           public static String valueOf(char c)
           public static String valueOf(int i)
           public static String valueOf(long l)
           public static String valueOf(float f)
           public static String valueOf(double d)

Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   10
String e Tipos Primitivos

     Um método estático é associado à classe e não a uma
      instância particular da mesma. É fácil entender por
      que o método em questão deve ser estático, pois,
      quando resolvemos expressar um número na forma
      de caracteres, ainda não temos uma String. O
      método a ser chamado é que irá criá-la.
     Exemplo:
             double p = 3.14;
             int i = 123;
             String s1 = String.valueOf(p);
             String s2 = String.valueOf(i);

Fundamentos do Java         ©2012 Ludimila Monjardim Casagrande   11
Tutoriais do Java

     The Java Tutorials
           Getting Started
                 http://java.sun.com/docs/books/tutorial/getStarted/
           Learning the Java Language
                 http://java.sun.com/docs/books/tutorial/java/




Fundamentos do Java           ©2012 Ludimila Monjardim Casagrande       12
Referências

     Caelum: Ensino e Soluções em Java.
        FJ-11 – Java e Orientação a Objetos.
        http://www.caelum.com.br/curso/fj-11-java-
        orientacao-objetos/




Fundamentos do Java   ©2012 Ludimila Monjardim Casagrande   13

Mais conteúdo relacionado

Mais procurados

Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesRegis Magalhães
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em pythonAlvaro Oliveira
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em JavaEderson Lima
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidJosé Alexandre Macedo
 
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no NetbeansLoiane Groner
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamentoSedu
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesOziel Moreira Neto
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Elaine Cecília Gatto
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCLuiz Ricardo Silva
 
Python3 cheatsheet
Python3 cheatsheetPython3 cheatsheet
Python3 cheatsheetGil Cohen
 

Mais procurados (20)

POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans[Curso Java Basico] Aula 23: Como debugar no Netbeans
[Curso Java Basico] Aula 23: Como debugar no Netbeans
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamento
 
Linguagem de Programação Java para Iniciantes
Linguagem de Programação Java para IniciantesLinguagem de Programação Java para Iniciantes
Linguagem de Programação Java para Iniciantes
 
Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1Programação Orientada a Objetos parte 1
Programação Orientada a Objetos parte 1
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Factory Method Pattern
Factory Method PatternFactory Method Pattern
Factory Method Pattern
 
Acesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBCAcesso a Banco de Dados em Java usando JDBC
Acesso a Banco de Dados em Java usando JDBC
 
Python3 cheatsheet
Python3 cheatsheetPython3 cheatsheet
Python3 cheatsheet
 
POO - 06 - Encapsulamento
POO - 06 - EncapsulamentoPOO - 06 - Encapsulamento
POO - 06 - Encapsulamento
 

Destaque

Pasos para crear un Video en Picovico
Pasos para crear un Video en PicovicoPasos para crear un Video en Picovico
Pasos para crear un Video en PicovicoVeronica Zonteponte
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01Daniel Alves
 
Apostila de java na pratica
Apostila de java na praticaApostila de java na pratica
Apostila de java na praticaAlbino87
 
Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)Robson Silva Espig
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasBreno Vitorino
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java BasicoJoel Lobo
 

Destaque (17)

POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Pasos para crear un Video en Picovico
Pasos para crear un Video en PicovicoPasos para crear un Video en Picovico
Pasos para crear un Video en Picovico
 
Encapsulamento em oo
Encapsulamento em ooEncapsulamento em oo
Encapsulamento em oo
 
Java basico modulo_01
Java basico modulo_01Java basico modulo_01
Java basico modulo_01
 
Apostila de java na pratica
Apostila de java na praticaApostila de java na pratica
Apostila de java na pratica
 
Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)
 
Curso de Java #12 - Estruturas de Repetição (Parte 2)
Curso de Java #12 - Estruturas de Repetição (Parte 2)Curso de Java #12 - Estruturas de Repetição (Parte 2)
Curso de Java #12 - Estruturas de Repetição (Parte 2)
 
Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso de Java #13 - Estruturas de Repetição (Parte 3)Curso de Java #13 - Estruturas de Repetição (Parte 3)
Curso de Java #13 - Estruturas de Repetição (Parte 3)
 
Curso de Java #11 - Estruturas de Repetição (Parte 1)
Curso de Java #11 - Estruturas de Repetição (Parte 1)Curso de Java #11 - Estruturas de Repetição (Parte 1)
Curso de Java #11 - Estruturas de Repetição (Parte 1)
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Linguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e TécnicasLinguagem Java - Conceitos e Técnicas
Linguagem Java - Conceitos e Técnicas
 
Curso de Java #08 - Operadores Lógicos e Relacionais
Curso de Java #08 - Operadores Lógicos e RelacionaisCurso de Java #08 - Operadores Lógicos e Relacionais
Curso de Java #08 - Operadores Lógicos e Relacionais
 
Curso de Java #07 - Operadores (Parte 1)
Curso de Java #07 - Operadores (Parte 1)Curso de Java #07 - Operadores (Parte 1)
Curso de Java #07 - Operadores (Parte 1)
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Curso de Java #10 - Estruturas Condicionais (Parte 2)
Curso de Java #10 - Estruturas Condicionais (Parte 2)Curso de Java #10 - Estruturas Condicionais (Parte 2)
Curso de Java #10 - Estruturas Condicionais (Parte 2)
 
Curso de Java #09 - Estruturas Condicionais (Parte 1)
Curso de Java #09 - Estruturas Condicionais (Parte 1)Curso de Java #09 - Estruturas Condicionais (Parte 1)
Curso de Java #09 - Estruturas Condicionais (Parte 1)
 

Semelhante a POO - 20 - Wrapper Classes

POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosLudimila Monjardim Casagrande
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens PooInfogenius
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Natanael Fonseca
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02Natanael Fonseca
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoAnderson Ledo
 
Aula 03 - Classes math e string - JAVA
Aula 03   - Classes math e string - JAVAAula 03   - Classes math e string - JAVA
Aula 03 - Classes math e string - JAVAULBRA
 
Grupo de estudo - Kotlin
Grupo de estudo - KotlinGrupo de estudo - Kotlin
Grupo de estudo - KotlinAndré Justi
 

Semelhante a POO - 20 - Wrapper Classes (20)

POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a ObjetosPOO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
POO - 02 - Fundamentos da Linguagem Java e da Orientação a Objetos
 
05 poo-ii
05   poo-ii05   poo-ii
05 poo-ii
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Aula2
Aula2Aula2
Aula2
 
7194099-Manual-de-Java
7194099-Manual-de-Java7194099-Manual-de-Java
7194099-Manual-de-Java
 
Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Curso ruby on rails
Curso ruby on railsCurso ruby on rails
Curso ruby on rails
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Curso Java Básico - Aula02
Curso Java Básico - Aula02Curso Java Básico - Aula02
Curso Java Básico - Aula02
 
POO - 07 - Operadores do Java
POO - 07 - Operadores do  JavaPOO - 07 - Operadores do  Java
POO - 07 - Operadores do Java
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
Aula4
Aula4Aula4
Aula4
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
 
Aula 03 - Classes math e string - JAVA
Aula 03   - Classes math e string - JAVAAula 03   - Classes math e string - JAVA
Aula 03 - Classes math e string - JAVA
 
Java7
Java7Java7
Java7
 
Grupo de estudo - Kotlin
Grupo de estudo - KotlinGrupo de estudo - Kotlin
Grupo de estudo - Kotlin
 

Mais de Ludimila Monjardim Casagrande (14)

Gerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com ScrumGerenciamento Ágil de Projetos com Scrum
Gerenciamento Ágil de Projetos com Scrum
 
POO - 23 - Coleções da API do Java
POO -  23 - Coleções da API do Java POO -  23 - Coleções da API do Java
POO - 23 - Coleções da API do Java
 
POO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em JavaPOO - 22 - Tratamento de Exceções em Java
POO - 22 - Tratamento de Exceções em Java
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de ArgumentosPOO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
POO - 12 - A Classe Object
POO - 12 - A Classe ObjectPOO - 12 - A Classe Object
POO - 12 - A Classe Object
 
POO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em JavaPOO - 09 - Entradas e Saídas em Java
POO - 09 - Entradas e Saídas em Java
 
POO - 08 - Prática de Encapsulamento
POO - 08 - Prática de EncapsulamentoPOO - 08 - Prática de Encapsulamento
POO - 08 - Prática de Encapsulamento
 
POO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de DesenvolvimentoPOO - 05 - Ambiente de Desenvolvimento
POO - 05 - Ambiente de Desenvolvimento
 
POO - 04 - Variávies em Java
POO - 04 - Variávies em JavaPOO - 04 - Variávies em Java
POO - 04 - Variávies em Java
 
POO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - DatasPOO - 24 - Classes Básicas do Java - Datas
POO - 24 - Classes Básicas do Java - Datas
 
POO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em JavaPOO - 03 - Alocação de Memória em Java
POO - 03 - Alocação de Memória em Java
 

Último

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Último (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

POO - 20 - Wrapper Classes

  • 1. Fundamentos da Linguagem Java Classes Básicas da API do Java Wrapper Classes Ludimila Monjardim Casagrande 2012
  • 2. Wrapper Classes  Cada tipo primitivo do Java possui a sua wrapper class correspondente.  Uma wrapper class é simplesmente uma classe que encapsula um único e imutável valor.  Por exemplo, a classe Integer encapsula um valor do tipo int e a classe Float encapsula um valor do tipo float. Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 2
  • 3. Wrapper Classes  As Wrapper Classes do Java são:  Boolean boolean  Byte byte  Character char  Short short  Integer int  Long long  Float float  Double double Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 3
  • 4. Construtores das Wrapper Classes  Normalmente, as Wrapper Classes admitem dois construtores, um que recebe o tipo primitivo correspondente como argumento e outro que recebe uma String como argumento (Character é uma exceção).  Exemplo:  Double d1 = new Double(1.0);  Double d2 = new Double(“1.0”); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 4
  • 5. Instanciando uma Wrapper Class  Formas de instanciar uma Wrapper Class: boolean b1 = true; Boolean b2 = new Boolean(b1); Boolean b3 = new Boolean(false); short s1 = 41; Short s2 = new Short(s1); //Não dá para passar 41 direto, Short s3 = new Short((short)41); //porque esse valor é considerado int Integer i1 = new Integer(1000); Integer i2 = new Integer(“1000”); Float f1 = new Float(1.0f); Float f2 = new Float("1.0"); //Se a String passada como argumento //não for um número ou não pertencer ao //intervalo correspondente ao float, então a //exceção NumberFormatException é //lançada Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 5
  • 6. Convertendo String para Tipo Primitivo  As Wrapper Classes fornecem métodos para a conversão de uma String em um tipo primitivo correspondente.  Exemplos desses métodos são:  byte b = Byte.parseByte("1");  long l = Long.parseLong("1");  int i = Integer.parseInt("1");  double d = Double.parseDouble("1"); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 6
  • 7. Recuperando o Tipo Primitivo  Cada Wrapper Class também fornece um método que retorna o tipo primitivo por ela encapsulado.  As assinaturas desses métodos são:  public byte byteValue( );  public short shortValue( );  public int intValue( );  ... Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 7
  • 8. Wrapper Classes e Collections  Os métodos para adição de elementos em uma coleção, normalmente, admitem um objeto como argumento e não um tipo primitivo.  Veja o exemplo do método add da classe ArrayList:  public boolean add(Object o) Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 8
  • 9. Wrapper Classes e Collections  Sendo assim, para armazenar um tipo primitivo em uma coleção é necessário encapsulá-lo usando a Wrapper Class correspondente para, então, adicioná-lo à coleção.  Exemplo: boolean b1 = true; Boolean b2 = new Boolean(b1); ArrayList list = new ArrayList(); list.add(b2); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 9
  • 10. String e Tipos Primitivos  A classe String oferece os seguintes métodos estáticos (isto é, métodos que independem de uma instância) para obter uma cadeia de caracteres (String) a partir de um dado tipo primitivo:  public static String valueOf(boolean b)  public static String valueOf(char c)  public static String valueOf(int i)  public static String valueOf(long l)  public static String valueOf(float f)  public static String valueOf(double d) Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 10
  • 11. String e Tipos Primitivos  Um método estático é associado à classe e não a uma instância particular da mesma. É fácil entender por que o método em questão deve ser estático, pois, quando resolvemos expressar um número na forma de caracteres, ainda não temos uma String. O método a ser chamado é que irá criá-la.  Exemplo: double p = 3.14; int i = 123; String s1 = String.valueOf(p); String s2 = String.valueOf(i); Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 11
  • 12. Tutoriais do Java  The Java Tutorials  Getting Started  http://java.sun.com/docs/books/tutorial/getStarted/  Learning the Java Language  http://java.sun.com/docs/books/tutorial/java/ Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 12
  • 13. Referências  Caelum: Ensino e Soluções em Java. FJ-11 – Java e Orientação a Objetos. http://www.caelum.com.br/curso/fj-11-java- orientacao-objetos/ Fundamentos do Java ©2012 Ludimila Monjardim Casagrande 13