有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

为什么包装类概念出现在Java中?

我知道什么是包装类,它们将基本类型(例如int、double等)包装到各自类的对象中

但我想知道一个Java代码示例,它可以实际地解释我

有了包装器类,没有包装器类,它将做什么


共 (2) 个答案

  1. # 1 楼答案

    一个简单的单行答案是,你可以有ArrayList<Integer>,但你不能有ArrayList<int>。它们用于集合、多态性等。所以我认为Java设计人员想让事情变得简单,这就是为什么他们使用包装类的概念

    Java is an object-oriented language and as said everything in java is an object. But what about the primitives? They are sort of left out in the world of objects, that is, they cannot participate in the object activities, such as being returned from a method as an object, and being added to a Collection of objects, etc. . As a solution to this problem, Java allows you to include the primitives in the family of objects by using what are called wrapper classes.

  2. # 2 楼答案

    当Java语言被“发明”时,人们认为原始类型int,long。。。可以避免性能问题。15年前,还没有高效的JIT编译器;所以如果你必须创建一个10000整数的数组。。。或10000个整数对象

    另一方面,Java希望成为一种面向对象的语言。因此,这些原始类型附带了类。你在这个意义上是正确的:如果没有原语tpyes,只有整数,Long。。。以此类推,Java类型的系统将更加一致,更加简单。。。但早在1997年,这种简单的类型系统在性能方面就“昂贵”。不幸的是,人们没有考虑在字节码中允许原始类型。。。但在Java语言本身(以及编译器内部将整数转换为int)中没有它们

    现在的主要用途是Java编译器执行自动装箱(原语和“基于对象”类型之间的自动转换);所以你可以写这样的东西:

    Map<Integer, String> someMap = ...
    someMap.put(5, "string")