我有一个对象列表和Comparator,用于在该列表中进行排序和serching.Collections.binarySearch()返回null,而它应该返回一个整数值.这是代码:
List<AttribRow> rows = new ArrayList<AttribRow> ();
AttribRow temp = new AttribRow();
temp.setIndv1((long)22);
rows.add(temp);
temp = new AttribRow();
temp.setIndv1((long)22);
rows.add(temp);
temp = new AttribRow();
temp.setIndv1((long)22);
rows.add(temp);
temp = new AttribRow();
temp.setIndv1((long)23);
rows.add(temp);
temp = new AttribRow();
temp.setIndv1((long)22);
rows.add(temp);
temp = new AttribRow();
temp.setIndv1((long)25);
temp.setId((long)55);
Collections.sort(rows, new CitRowsComparator());
int index = 0;
index = Collections.binarySearch(rows, temp,new CitRowsComparator());
Run Code Online (Sandbox Code Playgroud)
AttribRow是映射到表的实体bean类.它有一个字段indv1,用于比较.
private Long indv1;
public Long getIndv1() {
return indv1;
}
public void setIndv1(Long indv1) {
this.indv1 = indv1;
}
Run Code Online (Sandbox Code Playgroud)
这是Comporator类的代码
public class CitRowsComparator …Run Code Online (Sandbox Code Playgroud) java ×1