在Java中,我的理解是每个类都继承自Object。但是,如果我调用以下代码,它就会bal:
Math.PI.toString()
它给出错误:“静态错误:double中的方法没有名称'toString'”
这是否意味着double不会从Object继承?那么什么是双重呢?
答案 0 :(得分:5)
这是否意味着
double
不会继承Object
?
是
那么什么是double
呢?
它是语言本身内置的原始类型。还有其他原始类型,如char
,short
,int
,float
,boolean
。
尽管如此,该语言确实提供了围绕每种基本类型构建的包装器,它包括Object
- Integer
,Character
,Short
,Double
等。
您可以使用Double.toString(double)
方法获取字符串表示。
答案 1 :(得分:4)
Math.PI
是double
,double是原始类型,这意味着它没有任何方法。如果它是Double
,那么您可以调用其toString
方法,但我没有看到任何理由。
如果要创建双重使用的字符串表示
String value = String.valueOf(Math.PI);
或
String value = Double.toString(Math.PI)
BTW String.valueOf(d)
会返回Double.toString(d)
的结果。
答案 2 :(得分:3)
不,Math.PI是double(原语,而不是Double(Object),因此它不会从Object继承
答案 3 :(得分:3)
那是因为double
是原始的。它不继承自Object
并且没有它的行为。您仍然可以在toString()
上拨打Double
,而{{1}}又是一个对象
阅读有关Java中的基元和对象的更多信息。 This可能有用。
答案 4 :(得分:2)
double
不是对象,而是原语。因此它没有对象的方法,如toString()
等。
有一个名为Double
的双精度对象版本,它是double
周围的对象包装器。
您可以致电Double myDouble = Double.valueOf(primative);
Double
还有一些静态辅助方法,用于对诸如toString之类的对象进行常见操作
调用Double.toString(Math.PI);
可能就是你想要的
答案 5 :(得分:1)