Sep*_*420 0 java exception comparator illegalargumentexception
不知道这怎么会变得不稳定.这在大多数情况下都可以正常工作,但是会抛出IllegalArgumentException和一些查询.
这就是全部,想不出更多相关细节.
private static void sortSearchResults(List<Map> l){
Comparator<Map> comp = new Comparator<Map>(){
public int compare(Map a,Map b){
int aa=0,ba=0,as=0,bs=0;
try{
aa = Integer.parseInt(""+a.get("activity"));
}catch(Exception ex){
}
try{
ba = Integer.parseInt(""+b.get("activity"));
}catch(Exception ex){
}
try{
as = Integer.parseInt(""+a.get("searchscore"));
}catch(Exception ex){
}
try{
bs = Integer.parseInt(""+b.get("searchscore"));
}catch(Exception ex){
}
if(as>bs)
return -1;
else if(bs<as)
return 1;
else{
if(aa>ba)
return -1;
else if(aa<ba)
return 1;
else
return 0;
}
}
public boolean equals(Object o){
return o==this;
}
};
Collections.sort(l,comp);
}
Run Code Online (Sandbox Code Playgroud)
if(as>bs)
return -1;
else if(bs<as)
return 1;
Run Code Online (Sandbox Code Playgroud)
as>bs并且bs<as意思完全相同.你可能意味着:
if(as<bs)
return -1;
else if(as>bs)
return 1;
Run Code Online (Sandbox Code Playgroud)