回归新的目的?

K G*_*K G 0 java return

public Double squareRoot(Double d)
{
return new Double (Math.sqrt(d.doubleValue()));
}
Run Code Online (Sandbox Code Playgroud)

"回归新"的目的是什么?如果删除"新",它仍然可以工作吗?

Dan*_*lan 9

是的,实际上您可以删除更多代码:

public Double squareRoot(Double d)
{
    return Math.sqrt(d);
}
Run Code Online (Sandbox Code Playgroud)

即使Math.sqrt返回a double而不是a Double.这是通过一个名为Autoboxing的java功能完成的.

但正如@assylias指出的那样,你问是否可以删除new关键字.答案是否定的.这不编译:

public Double squareRoot(Double d)
{
    return Double (Math.sqrt(d.doubleValue()));
}
Run Code Online (Sandbox Code Playgroud)

错误是"预期的方法调用".您不能将类的构造函数称为方法.您只能通过new在其前面放置一个关键字来调用构造函数.

  • 您可以删除更多代码 - 只要使用此函数,只需使用`Math.sqrt` (2认同)