我使用了一个采用的方法,String
并且想传递一个基本类型boolean
。我希望它接受boolean
并将其转换为包含“ true”或“ false”的字符串。
假设采用以下方法:
public void method(String input) { ... }
我首先尝试了这样的事情:
boolean myBoolean = true;
method(myBoolean.toString());
这在编译期间给了我一个错误。但是,当我添加以下其他重载方法时,此方法再次起作用:
public void method(Boolean input) {
method(input);
}
令我感到困惑的是,在这种情况下,通话method(myBoolean)
效果很好。
为什么是这样?
基本类型(boolean
例如)没有方法。这就是为什么当您尝试boolean.toString()时发生错误的原因。包装器类比(Boolean.toString()
例如)。
现在,对于方法,如果您的方法是这样的:
public void method(String s)
那么您必须已经制定了另一种方法,如下所示:
public void method(boolean b)
能够执行method(boolean)。如果没有method(boolean b),编译器会method cannot be applied to boolean
沿这句话说或类似的话。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句