在命令提示符和Eclipse中执行应用程序的Java差异

时间:2015-06-24 23:50:42

标签: java eclipse cmd java-6

我有一个java控制台应用程序,其应用程序在Eclipse和命令提示符下运行时显示不同。

我已经检测到我的业务逻辑存在差异,这是:

在Eclipse中:

    List<ErpInvoice.Concepto.ConceptosHGH> lsTempConcepto = new ArrayList<ErpInvoice.Concepto.ConceptosHGH>(tConcepto.getConcepto().size()); 
    lsTempConcepto.addAll(tConcepto.getConcepto());

    System.out.println(lsTempConcepto.get(0).isPrimary()); //FALSE
    Collections.sort(lsTempConcepto);
    System.out.println(lsTempConcepto.get(0).isPrimary()); //TRUE

在命令提示符中:

    List<ErpInvoice.Concepto.ConceptosHGH> lsTempConcepto = new ArrayList<ErpInvoice.Concepto.ConceptosHGH>(tConcepto.getConcepto().size()); 
    lsTempConcepto.addAll(tConcepto.getConcepto());

    System.out.println(lsTempConcepto.get(0).isPrimary()); //FALSE
    Collections.sort(lsTempConcepto);
    System.out.println(lsTempConcepto.get(0).isPrimary()); //FALSE

我的想法是我有一个包含两个元素的列表,这个列表按照下一个顺序排列:

First Element(0)他的属性isPrimary = False

第二元素(1)他的属性是Mr.Primary = True

在执行Collections.sort(list)之后,订单应该是下一个

First Element(0)他的属性isPrimary = True

第二元素(1)他的属性isPrimary = False

为什么有区别?

1 个答案:

答案 0 :(得分:1)

这只是评论而不是回答,因为我现在没有足够的声誉:)。

你可能需要粘贴“ErpInvoice.Concepto.ConceptosHGH”的代码。该类应该实现“java.lang.Comparable”的接口。只需检查名为CompareTo(T o)的方法。