双 vs 双在 java 中

2022-09-03 08:25:53

可能的重复:
Java:不同的双倍和双重比较

在我的一个实验室的示例java程序中,我有两种不同的方法分别采用Double和double参数。
在向它们传递参数时,如何区分它们?


答案 1

Double参数可以是当不能。nulldouble


答案 2

首先,您需要了解这两种类型之间的区别。 是基元类型,而 是对象。doubleDouble

下面的代码显示了一个重载方法,我假设它类似于你的实验室代码。

void doStuff(Double d){ System.out.println("Object call"); }
void doStuff(double d){ System.out.println("Primitive call"); }

有几种方法可以调用这些方法:

doStuff(100);
doStuff(200d);
doStuff(new Double(100));

这些调用将导致:

"Primitive call"
"Primitive call"
"Object call"