名字就是这个 2022-07-28 10:22 采纳率: 90%
浏览 44

关于泛型方法使用的一些问题

关于泛型方法使用的一些问题

就是比如有一个类A需要对其做逻辑处理,这时将这个类的对象通过传参进入到一个处理方法内a(),通过这个方法进行逻辑处理,但是后面又有一个类B和上一个类A的处理逻辑一模一样,但是是不同的类,而且这两个类没有任何包含继承之类的关系,那这时候需要再写一个和之前的方法a()一模一样的逻辑的方法b()处理类B,但是这样这两个处理方法就冗余了,然后我就想着写泛型方法来处理,一个方法处理两个甚至多个类的对象,但是后来发现有问题,就是泛型方法内部需要调用这两个不用类对象的不同方法,这时就无法处理了,因为这两个类没关系而且不一样,那如果写死泛型方法中T的对象的调用方法,那还是只能给一个类用,无法通用,后来尝试通过反射根据传入的T去动态的调用传入的类A/B的特有方法,也不行,请问各位有啥好的办法吗?

  • 写回答

3条回答 默认 最新

  • 林晓风 2022-07-28 10:26
    关注
    1. 对于每个类的方法都不一样的情况下,可以使用策略模式,根据不同的类使用各自的策略。

    2. 对于你想处理的类如果有相似之处,可以提取出一个公共的抽象类或者接口,然后使用这个抽象类或接口去做处理,各个子类都可以传入。

    评论

报告相同问题?

问题事件

  • 请采纳用户回复 7月31日
  • 创建了问题 7月28日

悬赏问题

  • ¥60 iinfercnv 肿瘤进化树
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上
  • ¥15 angular js调外部链接查看pdf