为啥java的一些概念需要使用包装类而不是原始数据类型[重复]

Posted

技术标签:

【中文标题】为啥java的一些概念需要使用包装类而不是原始数据类型[重复]【英文标题】:Why some concepts of java needs to use wrapper class instead of primitive datatypes [duplicate]为什么java的一些概念需要使用包装类而不是原始数据类型[重复] 【发布时间】:2021-07-08 20:09:33 【问题描述】:

请解释一下引入java wrapper class..的概念背后的逻辑是什么?原始数据类型有什么问题,像集合这样的一些概念只使用包装类而不是原始数据类型......?如果我们使用包装类,还需要解释内存级别的概念

【问题讨论】:

@Progman:我的答案比你找到的更先进、更完整。第二:您链接的问题已关闭。 【参考方案1】:

数据类型上下文中的包装类为开发人员带来更多便利并解决一些问题:

    包装类包括帮助方法,特别是用于将数据类型转换为另一种数据类型。例如。 Integer digit = Integer.valueOf(args[0]);

因为args[0] 始终是一个字符串。

或者像这样的一些帮助方法:Character.isUpperCase(char);

    包装类包括有用的常量,例如 MIN_VALUEMAX_VALUE

    如果小数点后的精度很重要,则必须使用BigDecimal 而不是floatdouble。数据类型floatdouble 一般不能提供精度。

    泛型只能与类一起使用(引用类型作为泛型类型参数)。例如。 List<int> 是不可能的,但是List<Integer>

我的答案可能并不完全:-)。

【讨论】:

以上是关于为啥java的一些概念需要使用包装类而不是原始数据类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章

原子属性包装器仅在声明为类而不是结构时才有效

为啥 Java 在声明原始数据类型时不允许 null [重复]

原始类型包装器

为啥 KMeans 是一个类而不是 sklearn 中定义的函数?

Java 数据库 ID - 原始类型或包装类型 [重复]

为啥要扩展类而不是遵循协议? [复制]