【发布时间】:2012-08-30 07:53:41
【问题描述】:
我知道声明 Object 类型的变量或将 Object 变量作为参数传递给方法是为了让我们可以传递任何对象类型,例如整数或字符串或数组。我只是想问一下我们是否也可以传递原始数据类型或转换为整数原始类型?
例如,如果我有一个 Stack 类,它允许我们推送和弹出 Object 类型的对象,那么我可以将这个类用于 Integer 对象但是我可以将它用于原始类型 int 吗?
【问题讨论】:
我知道声明 Object 类型的变量或将 Object 变量作为参数传递给方法是为了让我们可以传递任何对象类型,例如整数或字符串或数组。我只是想问一下我们是否也可以传递原始数据类型或转换为整数原始类型?
例如,如果我有一个 Stack 类,它允许我们推送和弹出 Object 类型的对象,那么我可以将这个类用于 Integer 对象但是我可以将它用于原始类型 int 吗?
【问题讨论】:
是的,您可以,因为 Java 会“自动装箱”您的原始类型。换句话说,如果您将int 传递给您的方法,它会首先转换为Integer,然后Integer 将作为参数传递给您的方法。
This tutorial 提供了有关其工作原理的更多详细信息。
【讨论】:
public void method(Object o),你可以在一个int上调用它:method(1)。
public Integer pop(),你可以将它拆箱为一个 int:int result = pop();