1

我有一堂课:

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升级为20l后,一切正常吗?那么根本原因是什么?

4

1 回答 1

0

尝试

private RetryAfterEntity retryAfterEntity=new RetryAfterEntity(false, 20L, 405);

原因是编译器自动将整数读取为.. int。您需要使用“L”告诉他这 20 不是 int。

同样的情况适用于双打和浮动 - 你必须写

float x = 3.15f;

因为编译器会自动将非整数读取为双精度数。

于 2013-08-22T07:20:50.153 回答