Java:将Double对象转换为float的更好方法

时间:2014-09-14 22:12:38

标签: java casting

假设我有一个Double对象d和一个接受一个原始float的函数,是否有更好的方法将对象do传递给函数而不是双重投射?

Double fakePi = 3.14  
void function(float num) {}

function(fakePi):返回编译错误,因为函数不将Double对象作为参数

function((float) fakePi):返回编译错误,因为Double无法转换为float

function((float) (double) fakePi): 编译并运行无错误

虽然这很有效,但我的直觉告诉我,有更好的方法可以做到这一点,我应该避免做多种类型的演员,特别是因为float,double,Double彼此密切相关。

1 个答案:

答案 0 :(得分:5)

Double类有一个floatValue()属性。

http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html

function(fakePi.floatValue());