小编Joh*_*ith的帖子

Java Collections.binarySearch()返回null

我有一个对象列表和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

0
推荐指数
1
解决办法
2414
查看次数

标签 统计

java ×1