我有一堂课:
public RetryAfterEntity(boolean retryAfter, long retryAfterTime, int returnStatusCode) {}
然后使用以下方法调用构造函数:
private RetryAfterEntity retryAfterEntity=new RetryAfterEntity(false, 20, 405);
它不会报告任何编译错误。
但是当我使用mvn deploy将代码构建为jar并运行时,它将弹出错误:
java.lang.NoSuchMethodError: com.sip.core.telephone.header.entity.RetryAfterEntity.<init>(ZII)V
将20升到20升后,可以吗?那么根本原因是什么?
最佳答案
尝试
private RetryAfterEntity retryAfterEntity=new RetryAfterEntity(false, 20L, 405);
原因是编译器自动将整数读取为.. int。您需要通过使用“ L”来告诉他这20不是整数。
同样的情况适用于双打和浮动-您必须编写
float x = 3.15f;
因为编译器会自动将非整数读取为double。