java - Java中包装器的概念

标签 java oop

在阅读Hadoop资料的时候,总是会遇到一些自己不太熟悉的Java概念。对于下面这个,这里的“包装器”这个概念是什么意思呢?我们什么时候需要这种包装器?它在面向对象语言中扮演什么角色?

enter image description here

最佳答案

任何时候您需要使用引用类型(即对象 - 例如 Integer )而不是原始类型(例如 int )。

这主要用于泛型中,您需要指定一个类而不是基元:

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

在这里,您可能会认为:

HashMap<String, int> foo = new HashMap<String, int>();

可以,但不会,如 int不是引用类型(类)而是基元。

我们为所有原始类型提供了包装类:

Integer对于 int , Byte对于 byte , Double对于 double , Character对于 char

关于java - Java中包装器的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22283181/

相关文章:

java - GAE/J - JPA 错误 - 类型 ("")不是实体的,但需要用于此操作

java - 如何等待线程和处理程序初始化

java - HttpURL连接 : Already connected after redirect

java - 新的 Obj,总是还是有时?

面向对象的Java : how subclass-object use method from superclass (that method has been Override)

java - GitHub 在不同的分支上工作,但在同一个类上。我们如何 merge 这个?

java - 服务委托(delegate)抛出 "LazyInitializationException: could not initialize proxy - no Session"

c++ - 实心: Does DIP mean that composition/aggreation to an object is forbidden?

c++ - 如何在 C++ 中使用模板和 OOP?

c# - 在调用基本构造函数之前计算值