1

ComparatorNetbeans と Weblogic 12c を使用して、Java 1.7 から Java 1.8 にアップグレードした後、インターフェイスでサーブレット コンパイル エラーが発生します。.jspファイルは Java 1.7 で正常に実行されました。他の同様の質問を読みましたが、解決策が見つかりませんでした。Weblogic ドメイン構成の JSP Compiler Backwards Compatible を確認しようとしましたが、成功しませんでした。コンパイラが不満を言っているメソッドはdefaultメソッドなので、言及する必要はありませんよね?実装するクラスはComparator、Java 8 用に書き直す必要がありますか? もしそうなら、アドバイスしてください。

エラー

 viewFundCites.jsp:151:11: The type compareFundedPrOrderedByPr must implement the inherited abstract method Comparator.thenComparing(Function, Comparator)
    class compareFundedPrOrderedByPr implements Comparator {
          ^-----------------------^

コード

class compareFundedPrOrderedByPr implements Comparator {
    public int compare (Object a, Object b) {
        int ordering = 0;
        FundCite itemA = (FundCite)a;
        FundCite itemB = (FundCite)b;
        if ((null == itemA) && (null == itemB)) {
            ordering = 0;
        } else if ((null == itemA.getPrName()) && (null == itemB.getPrName())) {
            ordering = 0;
        } else if (null == itemA.getPrName()) {
            ordering = -1;
        } else if (null == itemB.getPrName()) {
            ordering = 1;
        } else {
            // Do primary sort by PR Name.
            ordering = itemA.getPrName().compareTo(itemB.getPrName());
            if (0 == ordering) {
                // Do secondary sort by CLIN.
                if ((null == itemA.getClin()) && (null == itemB.getClin())) {
                    ordering = 0;
                } else if (null == itemA.getClin()) {
                    ordering = -1;
                } else if (null == itemB.getClin()) {
                    ordering = 1;
                } else {
                    ordering = itemA.getClin().compareTo(itemB.getClin());
                }
            }
        }
        return ordering;
    }
}
4

0 に答える 0