java - 返新目的?

标签 java return

public Double squareRoot(Double d)
{
return new Double (Math.sqrt(d.doubleValue()));
}

“返新”的目的是什么?如果删除“new”,它仍然有效吗?

最佳答案

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

public Double squareRoot(Double d)
{
    return Math.sqrt(d);
}

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

但正如 @assylias 所指出的,您询问是否可以仅删除 new 关键字。答案是否定的。这不会编译:

public Double squareRoot(Double d)
{
    return Double (Math.sqrt(d.doubleValue()));
}

错误是“需要方法调用”。您不能将类的构造函数作为方法来调用。您只能通过在构造函数前面放置 new 关键字来调用它。

关于java - 返新目的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794291/

相关文章:

c - 函数不会返回 0,找不到逻辑错误

java - 是否可以通过此方法返回或以某种方式访问​​ "courses"中的数据?

Javascript - 在输入标签上返回 false

c - for循环中的return语句

java - 方法不返回字符串

java - 重构代码的更快方法

java - Jboss (6.4 EAP) 到 WebSphere (7.x)

java - 我可以在 Eclipse 上运行一个程序来打开控制台,然后打开一个处理窗口吗?

java - 大数据负载下JTable行选择事件响应延迟

java - 线程 "main"java.lang.NoClassDefFoundError : = 中出现异常