Compare 自反性复现

package com.study.other;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CompareQuestion {

    private static class Demo implements Comparable<Demo> {
        private BigDecimal prop1;

        public BigDecimal getProp1() {
            return prop1;
        }

        public void setProp1(BigDecimal prop1) {
            this.prop1 = prop1;
        }

        @Override
        public int compareTo(Demo o) {
            return o.prop1.compareTo(this.prop1) == 0 ? -1 : o.prop1.compareTo(this.prop1);
        }
    }

    public static void main(String[] args) {
        int[] array = new int[]{1, 2, 3, 1, 2, 3,
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                3, 2, 1, 3, 2, 1, 3, 2, 1, 3, 2,
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                1, 1, 1, 1, 1, 1};

        int len = array.length;
        System.out.println(len);

        List<Demo> list = new ArrayList<>(len);

        for (int i = 0; i < len; i++) {
            Demo obj = new Demo();
            obj.setProp1(new BigDecimal(array[i]));
            list.add(obj);
        }
        Collections.sort(list);
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容