当前位置: 首页 > 知识库问答 >
问题:

Double.parseDouble(String)和Double.valueOf(String)有什么区别?

长孙鸿
2023-03-14

我想将字符串转换为双精度数据类型。我不知道应该使用parseDouble还是valueOf。

这两种方法有什么区别?

共有3个答案

锺离霖
2023-03-14

parseDouble()方法用于初始化字符串(应该包含一些数值)。。。。它返回的值是原始数据类型,如int、float等。

但是valueOf()创建了包装类的对象。必须将其展开才能获得双倍值。它可以比作巧克力。制造商用一些箔纸或纸包装巧克力以防止污染。用户拿起巧克力,取出并扔掉包装纸,然后吃掉它。

观察以下转换。

int k=100;整数it1=新整数(k);

int数据类型k被转换为一个对象,it1使用整数类。it1对象可以用于Java编程中,只要k是一个对象。

以下代码可用于展开对象it1(从Integer对象返回int)。

int m = it1.intValue();

system.out.println(m*m);//打印10000

//intValue()是一个整数类的方法,它返回一个int数据类型。

云曦之
2023-03-14

<代码>双精度。parseDouble(字符串)将返回原语的类型<代码>双精度。valueOf(String)将返回类型为Double的包装对象。

因此,例如:

double d = Double.parseDouble("1");

Double d = Double.valueOf("1");

此外,value eOf(...)是一种重载方法。它有两个变体:

  1. (字符串s)的双倍值
  2. Double value of(双d)

然而,parseDouble是一个具有以下签名的单一方法:

  1. double-parseDouble(字符串s)
闻飞跃
2023-03-14

parseDouble返回一个包含字符串值的基元double:

返回一个初始化为指定String表示的值的新双精度,由类Double的value eOf方法执行。

返回一个双实例,如果已经缓存,则会得到相同的缓存实例。

返回表示指定双精度值的双精度实例。如果不需要新的Double实例,通常应优先使用此方法而不是构造函数Double(Double),因为通过缓存频繁请求的值,此方法可能会产生显著更好的空间和时间性能。

为了避免创建新的Double对象实例的开销,您通常应该使用value eOf

 类似资料:
  • 问题内容: 这两个语句之间有什么区别: 和 如果您能说明差异,那就太好了。 问题答案: 第一个是创建一个新的String对象。第二个是有效地使用已经存在的(它是在加载类文件时创建的)。实际上,从来没有理由使用构造函数。 (我之所以这样说, 实际上是 因为有一种情况:如果要通过调用然后丢弃原始文件来分解大块,则可以使用此构造函数从子字符串中创建new来节省内存。这确实是一个晦涩的情况,虽然。)

  • 我应该如何在Java中声明方法? 这样地: 或者像这样: 字符串[]和字符串之间的区别是什么 如果有?

  • 问题内容: 我应该如何用Java 声明方法? 像这样: 或像这样: 和如果有的话,实际上有什么区别? 问题答案: 我应该如何在Java中声明main()方法? 和在内部同样的事情,即,字符串的数组。区别在于,当您使用varargs参数()时,可以像下面这样调用方法: 并且当您将参数声明为String数组时, 必须以 这种方式调用: 和…(如果有)之间到底有什么区别? 约定是用作主要的方法参数,但也

  • 问题内容: 在Go语言中, 是一个字符串数组 并且我们也将其用作参数。 有什么区别? 功能定义: 我可以像下面这样调用此函数吗? 问题答案: 是一个字符串数组 从技术上讲,这是引用基础数组的切片 并且我们也将其用作参数。 有什么区别? 关于结构,真的没有。两种语法得出的数据类型相同。 该参数语法形成了可变参数的参数。它将接受零个或多个参数,并将它们作为切片引用。 关于调用,您可以使用以下语法将字符

  • 问题内容: 将对象强制转换为double并注意到这两种方法。我看到parseDouble自1.2起就出现了。如果它本质上具有与valueOf(s)相同的功能,为什么还要添加此方法? 问题答案: 返回原始值。返回包装类的实例。在Java 5引入自动装箱之前,这是非常重要的区别(许多人认为仍然如此)。