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

Mais procurados (20)

POO - 17 - Interfaces
POO - 17 - InterfacesPOO - 17 - Interfaces
POO - 17 - Interfaces
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
Linguagem Java
Linguagem JavaLinguagem Java
Linguagem Java
 
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)
 
Java 8 lambda
Java 8 lambdaJava 8 lambda
Java 8 lambda
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
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
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
java 8 new features
java 8 new features java 8 new features
java 8 new features
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Introdução ao JavaScript
Introdução ao JavaScriptIntrodução ao JavaScript
Introdução ao JavaScript
 
String, string builder, string buffer
String, string builder, string bufferString, string builder, string buffer
String, string builder, string buffer
 
Java 9 New Features
Java 9 New FeaturesJava 9 New Features
Java 9 New Features
 
Introduction to class in java
Introduction to class in javaIntroduction to class in java
Introduction to class in 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
 
Core Java
Core JavaCore Java
Core Java
 
Java 8 Lambda Expressions
Java 8 Lambda ExpressionsJava 8 Lambda Expressions
Java 8 Lambda Expressions
 
React Native na globo.com
React Native na globo.comReact Native na globo.com
React Native na globo.com
 

Destaque

Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)Programacao Orientada A Objetos (Java)
Programacao Orientada A Objetos (Java)
Robson Silva Espig
 

Destaque (18)

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
 
POO - 06 - Encapsulamento
POO - 06 - EncapsulamentoPOO - 06 - Encapsulamento
POO - 06 - Encapsulamento
 
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
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
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

Linguagens Poo
Linguagens PooLinguagens Poo
Linguagens Poo
Infogenius
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
jmtofoli
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
Natanael Fonseca
 
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
Anderson Ledo
 

Semelhante a POO - 20 - Wrapper Classes (20)

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
 
Java básico
Java básicoJava básico
Java básico
 

Mais de Ludimila Monjardim Casagrande

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 - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de MétodosPOO - 18 - Sobrecarga e Sobreposição de Métodos
POO - 18 - Sobrecarga e Sobreposição de Métodos
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
POO - 15 - Passagem de Argumentos
POO - 15 - Passagem de ArgumentosPOO - 15 - Passagem de Argumentos
POO - 15 - Passagem de Argumentos
 
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 - 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
 

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