我越来越:
NoSuchMethodError: com.foo.SomeService.doSmth()Z
我是否正确理解此
'Z'
表示doSmth()方法的返回类型为 boolean 值?如果为true,则实际上不存在这种方法,因为此方法返回一些Collection。但是另一方面,如果我调用此方法,则不会将其返回值分配给任何变量。我只是这样调用此方法:service.doSmth();
任何想法为什么会发生此错误?所有必需的JAR文件都存在,并且此类中的所有其他方法似乎都存在。
最佳答案
看起来方法在编译期间存在于类路径中,但在应用程序运行期间不存在。
我认为返回类型不是问题。如果是这样,它将无法编译。当方法调用不明确时,即两个方法仅在返回类型上有所不同时,编译器将引发错误。