Kor*_*gay 0 java casting intellij-idea return-value
所以我有这个方法:

那么为什么IntelliJ警告我那里不允许返回x,但是上面还可以吗?类ProjectElement的id也是long类型.
如果没有实际阅读,请不要回答这个问题.:)
我假设"你可以在上面",你所指的是:
return (p1.getId().compareTo(p2.getId());
Run Code Online (Sandbox Code Playgroud)
那不是返回ID(这是一个Long) - 它返回compareTo方法的结果,这是一个int.(参见Long.compareTo(Long)文档.)
有没有从隐式转换long到int,这就是为什么你的声明return x;是无效的.
这在我看来,所有你需要做的是改变的声明x是int不是long-你只能从结果填充它compareTo通话,毕竟:
// Removed extraneous brackets as well...
int x = p1.getCustomerUnit().getId().compareTo(p2.getCustomerUnit().getId());
if (x == 0) {
return p1.getId().compareTo(p2.getId());
}
return x;
Run Code Online (Sandbox Code Playgroud)
区分ID的类型和ID之间比较的结果类型很重要.
| 归档时间: |
|
| 查看次数: |
261 次 |
| 最近记录: |