stringtranslate.com

Clase contenedora primitiva en Java

En la programación orientada a objetos , una clase contenedora es una clase que encapsula tipos , de modo que esos tipos se puedan usar para crear instancias de objetos y métodos en otra clase que necesite esos tipos. Por lo tanto, una clase contenedora primitiva es una clase contenedora que encapsula, oculta o envuelve tipos de datos de los ocho tipos de datos primitivos , [1] de modo que estos se puedan usar para crear objetos instanciados con métodos en otra clase o en otras clases. [2] [3] Las clases contenedoras primitivas se encuentran en la API de Java .

Las clases contenedoras primitivas se utilizan para crear un Objectque necesita representar tipos primitivos en Collectionclases (es decir, en la API de Java), en el java.utilpaquete y en el paquete java.lang.reflect de reflexión . Las clases de colección son clases definidas por la API de Java que pueden almacenar objetos de una manera similar a cómo las estructuras de datos como las matrices almacenan tipos de datos primitivos como int , double , long o char , etc., [2] pero las matrices almacenan tipos de datos primitivos mientras que las colecciones en realidad almacenan objetos.

Las clases contenedoras primitivas y sus tipos primitivos correspondientes son:

La diferencia entre clases contenedoras y tipos primitivos

Las clases contenedoras primitivas no son lo mismo que los tipos primitivos. Mientras que las variables, por ejemplo, se pueden declarar en Java como tipos de datos double , short , int , etc., las clases contenedoras primitivas crean objetos y métodos instanciados que heredan pero ocultan los tipos de datos primitivos, no como las variables a las que se les asignan los valores de los tipos de datos. [2]

Por lo tanto, el término clase contenedora primitiva no significa que las clases contenedoras sean tipos primitivos. Debe entenderse como una clase que envuelve tipos primitivos. Las clases contenedoras se pueden usar para almacenar el mismo valor que una variable de tipo primitivo, pero las instancias/objetos de las clases contenedoras en sí mismas son no primitivas . No podemos decir que las clases contenedoras en sí mismas sean tipos primitivos. Simplemente envuelven los tipos primitivos.

Las clases contenedoras Byte, Short, Integer, , y son todas Longsubclases de la clase.FloatDoubleNumber

Las clases contenedoras BigDecimaly BigInteger no son una de las clases contenedoras primitivas, pero son inmutables. [4] [5]

Clases de envoltura atómica

Con Java 5.0, se introdujeron clases contenedoras adicionales en el java.util.concurrent.atomicpaquete. Estas clases son mutables y no se pueden utilizar como reemplazo de las clases contenedoras normales. En cambio, proporcionan operaciones atómicas para la adición, el incremento y la asignación.

Las clases contenedoras atómicas y sus tipos correspondientes son:

Las clases AtomicIntegery AtomicLongson subclases de la Numberclase. La AtomicReferenceclase acepta el parámetro de tipo V que especifica el tipo de la referencia del objeto . (Consulte " Elementos genéricos en Java " para obtener una descripción de los parámetros de tipo en Java).V

Véase también

Referencias

  1. ^ SJ Chapman, Introducción a Java , Prentice Hall, 1999.
  2. ^ abc J. Murach, Programación Java de Murach , 4.ª edición, Mike Murach and Associates, Inc., 2011.
  3. ^ JR Hubbard, Programación con Java , Schaum's Outline Series/McGraw Hill, 1998.
  4. ^ David O'Meara (abril de 2003). "Objetos mutables e inmutables: ¿Qué clases son inmutables?". Java Ranch . Consultado el 14 de mayo de 2012. Las clases java.math.BigInteger y BigDecimal tampoco son inmutables, aunque tal vez deberían haberlo sido.
  5. ^ Oracle. "Documentación de Java de Oracle". Números enteros inmutables de precisión arbitraria.