Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么排序列表时compareTo参数始终为空_Java_Hibernate_Sorting_Compareto - Fatal编程技术网

Java 为什么排序列表时compareTo参数始终为空

Java 为什么排序列表时compareTo参数始终为空,java,hibernate,sorting,compareto,Java,Hibernate,Sorting,Compareto,以下是我在ManagedBean中的代码: public List posortujGrupe(Set<Uczestnik> sm) { List sortedList2 = new ArrayList(sm); System.out.println("^^^^^^^^^^1"); for(int i = 0 ; i < sortedList2.size() ; i++) System.out.println("i: "+i+" ->

以下是我在ManagedBean中的代码:

public List posortujGrupe(Set<Uczestnik> sm) {
    List sortedList2 = new ArrayList(sm);
    System.out.println("^^^^^^^^^^1");
    for(int i = 0 ; i < sortedList2.size() ; i++)
        System.out.println("i: "+i+" -> "+((Uczestnik)(sortedList2.get(i))).getStatusUczestnictwa());
    System.out.println("^^^^^^^^^^2");
    Collections.sort(sortedList2);
    return sortedList2;
}
Uczestnik类中compareTo函数中Uczestnik的所有o对象始终为空。
我怎样才能修好它

尝试在比较器中用o.getStatusUczestnictwa替换o.statusUczestnictwa。也许有一些hibernate惰性加载正在困扰您。

我对其他类也这样做,它工作正常,我不知道这里出了什么问题…@geert3它工作正常,非常感谢。仍然不知道为什么在一节课上它必须得到,而在另一节课上它不。。。奇怪。将我的评论更改为回答,以便您可以结束问题。谢谢
public class Uczestnik  implements java.io.Serializable, Comparable<Uczestnik> {
     (...)
     private String statusUczestnictwa;
     (...)
     public Uczestnik(..., String statusUczestnictwa, ...){
          (...)
          this.statusUczestnictwa = statusUczestnictwa;
          (...)
     }

     (...)

     public String getStatusUczestnictwa() {
          return this.statusUczestnictwa;
     }

     public void setStatusUczestnictwa(String statusUczestnictwa) {
         this.statusUczestnictwa = statusUczestnictwa;
     }

     (...)

     @Override
     public int compareTo(Uczestnik o) {
          System.out.println("0: "+ o.statusUczestnictwa);
          System.out.println("t: "+ this.statusUczestnictwa);
          if(o.statusUczestnictwa == null || this.statusUczestnictwa == null){
              if(o.statusUczestnictwa == null && this.statusUczestnictwa == null)
                    return 0;
              else{
                  if(o.statusUczestnictwa == null)
                       return 1;
                  else
                       return -1;
              }
          }   
          else{
              if(o.statusUczestnictwa == null && this.statusUczestnictwa == null)
                   return 0;
              else
                   return this.statusUczestnictwa.compareTo(o.statusUczestnictwa);
          }
     }
 }
^^^^^^^^^^1
i: 0 -> 2
i: 1 -> 3
i: 2 -> 4
i: 3 -> 1
^^^^^^^^^^2
0: null
t: 3
0: null
t: 4
0: null
t: 1