转换方法错误消息

时间:2012-11-21 01:36:34

标签: java

我在此代码的最后一部分收到此消息“cost”,

  

Convert类型中的toDoubleString(double,boolean)方法不适用于参数(Double,int),

不确定如何解决这个问题。如果我拿出来我得到这个消息,

  

Convert类型中的toLeftPaddedString(String,int)方法不适用于参数(Double,int)。

帮助,谢谢。

public String printSummaryOutput() {
    return Convert.toRightPaddedString(make, 8) + printSummaryOutput() +  
               Convert.toRightPaddedString(model, 11) + Convert.toLeftPaddedString(color, 6) + 
               Convert.toLeftPaddedString(purchaseDate, 10) + Convert.toLeftPaddedString(Convert.toDoubleString(cost, 10));
}

3 个答案:

答案 0 :(得分:1)

为了记录,我们不知道Convert类是什么,也不知道它的方法所期望的参数。

然而,有些东西告诉我,而不是......

Convert.toLeftPaddedString(Convert.toDoubleString(cost, 10))

......你可能意味着......

Convert.toLeftPaddedString(Convert.toDoubleString(cost), 10)

...因为Convert.toLeftPaddedString的其他调用确实接受第二个参数的整数参数。

正如其他人所说,根据错误消息,您需要向boolean提供Convert.toDoubleString秒参数,但该方法可能会超载;没有更多信息,我们无法分辨。

答案 1 :(得分:0)

在您的代码中,您正在调用方法Convert.toDoubleString(cost, 10)。此方法希望您将doubleboolean作为2个参数传递给它,但是您要给它Doubleint

因此,您需要更改方法调用以为其提供正确的值,这可能是......

Convert.toDoubleString(cost.doubleValue(), true);

同样的事情适用于所有其他方法,例如toLeftPaddedString() - 确保您为方法提供了正确的类型。

答案 2 :(得分:0)

“转换类型中的方法toDoubleString(double,boolean)不适用于参数(Double,int)”

如果您的方法toDoubleString收到doubleboolean。您应该调用此方法传递doubleboolean,而不是doubleint。你是矛盾的,编译器正在帮助你。