我想对if语句使用简短格式。怎么能在一行写下if语句?以及如何比较他们ı知道这里有相同的问题。但我的陈述没有其他所以如果没有其他声明就无法做到。
public int compareTo(Uyum u) {
if (uyum < u.uyum)
return -1;
if (uyum > u.uyum)
return 1;
return 0;
}
答案 0 :(得分:4)
您可以使用三元运算符:
return uyum < u.uyum ? -1
: uyum > u.uyum ? 1
: 0;
答案 1 :(得分:2)
您可能想要:
return a < b ? -1 : (a > b ? 1 : 0);
答案 2 :(得分:1)
public int compareTo(Uyum u){
return uyum - u.uyum;
}
答案 3 :(得分:0)
如果您有两种状态,通常只需要内联if语句(问号)。代码的可读性非常重要。 在你的情况下,你有3个状态(0,1和-1);我不建议使用内联if语句。
示例内联if语句:
String value = variable==null?"defaultvalue":variable;
此if语句表示法称为ternary operator
答案 4 :(得分:0)
在我看来u.uyum
是一个int,在这种情况下,为什么以下不满意?
return Integer.compare(uyum, u.uyum)
如果你真的必须使用三元运算符,你可以像其他人一样建议:
return uyum > u.uyum ? 1 : uyum == u.uyum ? 0 : -1
但这往往令人不悦,因为它并不是非常清晰。
答案 5 :(得分:0)
return (uyum-u.uyum)==0?0:((uyum-u.uyum)<0?-1:1)