我正在使用以下代码块,即使发生了奇怪的问题(我已经用断点证实了这一点)第一个案例是命中,AND包含一个return语句,default
也是击:
switch (sortType)
{
case RATING:
return values.get(position - 1).getRating() != values.get(position).getRating();
case GRAPE:
return !values.get(position - 1).getGrape().equals(values.get(position).getGrape());
case REGION:
return !values.get(position - 1).getRegion().equals(values.get(position).getRegion());
default:
return !values.get(position - 1).getGrape().equals(values.get(position).getGrape());
}
当default
阻止正在运行时,sortType
为RATING
。据我所知,第一种情况下的return
应阻止default
运行。这是对的吗?
答案 0 :(得分:1)
根据返回类型,其中一行是错误的:
case RATING:
return values.get(position - 1).getRating() != values.get(position).getRating();
case GRAPE:
return !values.get(position - 1).getGrape().equals(values.get(position).getGrape());
第一个使用!=,第二个使用.equals()。我想第二个是正确的。