• “匿名内部类”的使用场合举例


    package com.sxt.set6;
    import java.util.Comparator;
    import java.util.HashSet;
    /*
     * TreeSet 有序的 二叉树(红黑数)
     */
    import java.util.Set;
    import java.util.TreeSet;
    /*
     * 匿名内部类
     * 使用场合:只需要创建一次对象,就不在使用了,没有必要提供专门的实现类(不使用外部比较器)
     * 
     */
    public class TestStudent {
        public static void main(String[] args) {
            
            //匿名内部类:不是新建了接口而是新建了一个实现类   (穿入比较规则)
            
            Set<Student> arr1 = new TreeSet<>(new Comparator<Student>() {
    
                @Override
                public int compare(Student stu1, Student stu2) {
                    if(stu1.getName().equals(stu2.getName())){
                        return stu2.getAge() - stu1.getAge();
                    }
                    return stu1.getName().compareTo(stu2.getName());
                }
            });
            arr1.add(new Student("bbb", 21, 532.2));
            arr1.add(new Student("ccc", 32, 32.2));
            arr1.add(new Student("aaa", 11, 352.2));
            arr1.add(new Student("aaa", 15, 32.2));
            System.out.println("匿名内部类按名字排序(如果名字相同则按年龄降序排序):");
            for(Student s:arr1){
                System.out.println(s);
            }

            //按照外部比较器按名字排序(如果名字相同则按年龄降序排序):
            //Student [name=aaa, age=15, salary=32.2]
            //Student [name=aaa, age=11, salary=352.2]
            //Student [name=bbb, age=21, salary=532.2]
            //Student [name=ccc, age=32, salary=32.2]

        }
    }

     

  • 相关阅读:
    CSS权重
    object.create(null) 和 {}创建对象的区别
    CSS边框作图
    细说HTML头部标签
    利用a标签导出csv文件
    细说CSS伪类和伪元素
    HTML标签的权重
    《SPA设计与架构》之客户端路由
    《SPA设计与架构》之JavaScript模块化
    《SPA设计与架构》之MV*框架
  • 原文地址:https://www.cnblogs.com/qingfengzhuimeng/p/6746124.html
Copyright © 2020-2023  润新知