Java 中的包装类

在 OOPs 概念指南中,我们了解到面向对象编程都是关于对象的。八种原始数据类型byteshortintlongfloatdoublecharboolean不是对象, 包装器类用于将原始数据类型转换为对象,如intInteger等。让我们采取一个简单的例子来理解为什么我们需要 java 中的包装类。

例如:在 Java 中使用集合时,我们使用泛型来实现类型安全:ArrayList<Integer>而不是这个ArrayList<int>Integerint基本类型的包装类。在这种情况下,我们使用包装类,因为泛型需要对象而不是原始类型。还有其他几个原因你更喜欢包装类而不是原始类型,我们将在本文中讨论它们。

原始 包装类
boolean Boolean
char Char
byte Byte
short Short
int Integer
long Long
float Float
double Double

为什么我们需要 Java 中的包装类

  1. 正如我上面提到的,我们需要包装器的原因之一是在集合 API 中使用它们。另一方面,与基本类型相比,包装器对象拥有更多的内存。因此,当您需要效率时使用原始类型,并在需要对象而不是原始类型时使用包装类。

原始数据类型不是对象,因此它们不属于任何类。存储在仅支持对象的数据结构中时,需要首先将基本类型转换为对象,我们可以通过使用包装类来完成。

例:

HashMap<Integer, String> hm = new HashMap<Integer, String>();

因此,对于类型安全,我们使用包装类。这样我们就可以确保这个HashMap 键是整数类型,值是字符串类型。

  1. 包装类对象允许空值,而原始数据类型不允许空值。

让我们举几个例子来了解转换的工作原理:

包装类示例 1:将基本类型转换为包装器对象

public class JavaExample{  
   public static void main(String args[]){  
    //Converting int primitive into Integer object  
    int num=100;  
    Integer obj=Integer.valueOf(num);  

    System.out.println(num+ " "+ obj);  
   }
}

输出:

100 100

如您所见,原始数据类型和对象具有相同的值。您可以使用obj代替num,无论您需要将num的值作为对象传递。

包装类示例 2:将包装类对象转换为基本对象

public class JavaExample{  
   public static void main(String args[]){  
    //Creating Wrapper class object 
    Integer obj = new Integer(100);  

    //Converting the wrapper object to primitive
    int num = obj.intValue();

    System.out.println(num+ " "+ obj);  
   }
}

输出:

100 100
赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Java 教程