Java NumberFormat.format(字符串)不编译

Java NumberFormat.format(字符串)不编译,java,Java,我测试了以下java代码: NumberFormat nf = NumberFormat.getInstance(); System.out.println(nf.format("15")); 当javadoc中没有具有签名格式(字符串s)的方法时,这段代码是如何编译的?在父java.text.format中有一个方法公共最终字符串格式(Object obj)。您可以将它与String一起使用,因为Object是String的父类。但是有一个inherited可以接受任何对象,包括String

我测试了以下java代码:

NumberFormat nf = NumberFormat.getInstance();
System.out.println(nf.format("15"));

当javadoc中没有具有签名格式(字符串s)的方法时,这段代码是如何编译的?

在父java.text.format中有一个方法
公共最终字符串格式(Object obj)
。您可以将它与String一起使用,因为Object是String的父类。

但是有一个inherited可以接受任何对象,包括String。@Pshemo:yep,在父抽象中。所以基本上,它将始终编译并始终抛出IllegalArgumentException。@JachkE很遗憾,是的,因为字符串也是对象,所以它与预期的参数类型匹配
format
应该将任何数字类型格式化为字符串,但反之亦然。对于相反的功能,我们使用
parse