Java使用泛型T判断实体类型,执行不同的业务逻辑

1、场景介绍

        在web开发中,存在这种业务逻辑,不同的Vo实体类,需要调用相同的serviceImpl的update更新方法,这种场景我们可以使用java泛型去更好去解决这个问题,减少不必要相同业务逻辑方法的重复实现开发。

ae8d4161e91d4d1795a7e7ec74d2032e.png

 2、代码实现

        定义两个类,分别为学生类和教师类,设置属性id作为编号,使用lombok的@Data生成getter和setter方法,创建共通方法方法private static <T> void print(T entiy),其中<T>表示使用泛型进行编程,否则后续做类型判断会报错,具体案例实现如下。

import lombok.Data;

/**
 * @author Liwei
 * @date 2023/2/23 17:23
 * @description
 */
public class CertCATest {
    @Data
    public static class Student{
        private String id;
    }

    @Data
    public static class Teacher{
        private String id;
    }
    public static void main(String[] args) {
        Student student = new Student();
        student.setId("student");

        Teacher teacher = new Teacher();
        teacher.setId("teacher");

        print(teacher);

        print(student);

    }

    /**
     * 打印
     * @param entiy
     * @param <T>
     */
    private static <T> void print(T entiy) {
        if(entiy instanceof Teacher) {
            System.out.println("业务---我是老师");
            System.out.println(((Teacher) entiy).getId());
        } else if (entiy instanceof Student) {
            System.out.println("业务---我是学生");
            System.out.println(((Student) entiy).getId());
        }
    }
}

 3、总结

        除了java泛型T还有?,具体区别我就不讲了,正确的使用java泛型,能够大大加快开发效率,减少代码重复开发,如果你觉得可以就给点个小爱心吧谢谢支持。 

 

おすすめ

転載: blog.csdn.net/m0_43432638/article/details/129196538