首页 > 解决方案 > 使用 Java 对 Object.String 进行排序

问题描述

我有一个对象:

public class ListAnnotationsOrigin implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = 8443084209405942551L;

@JsonProperty("opcombo")
private List<opcombo> listComboOp;

@JsonProperty("vicombo")
private List<vicombo> listComboVi;

@JsonProperty("vicombo")
private String vicombo;

@JsonProperty("viversion")
private String idVersionVi;

@JsonProperty("closed")
private String closed;

@JsonProperty("params")
private List<SegmentOrigin> listSegmentOrigin; // <-- here

   // getters,setters etc.

我想要排序 listSegmentOrigin

@Entity
@Table(name = "SegmentOrigin")
public class SegmentOrigin implements Comparable<T>{ // <-- ERROR 

 ....

    @JsonProperty("idSegment")
    private String idSegment;

    public int compareTo(SegmentOrigin arg0) {
      if (this.getIdSegment().compareTo(arg0.getIdSegment())) { // <<--ERROR type mismatch: cannot convert from int to boolean
        return 1;
      } else {
        return 0;   
      }
    }
}

在我的控制器中->

ListAnnotationsOrigin list = this.getListAnnotationsOrigin ();
return Collections.sort((List<SegmentOrigin>) list.getListSegmentOrigin());

我以有序的方式从 ListAnnotationsOrigin 发送我的列表,然后当我实现 Comparable{ 时,我得到红线“实现方法 unics”,我导入 -> public int compareTo(SegmentOrigin arg0) { ...我得到其他错误,谢谢。

标签: java

解决方案


您的实体应如下所示:

@Entity
@Table(name = "SegmentOrigin")
public class SegmentOrigin implements Comparable<SegmentOrigin>{

    @JsonProperty("idSegment")
    private String idSegment;

    public int compareTo(SegmentOrigin arg0) {
        return this.getIdSegment().compareTo(arg0.getIdSegment()); // Check nullity if needed
    }
}

implements Comparable<SegmentOrigin>意味着您的对象可以与另一个 SegmentOrigin 对象进行比较。


推荐阅读