在Spring源代码中,一个方法两个变量Generic类型不同



spring项目在这个方法中,为什么priorityOrderedPostProcessors列表存储BeanFactoryPostProcessor类型,而orderedPostProcessorNamesnonOrderedPostProcessorNames存储String。这是什么原因?我试着把它们换成同样的类型,它们似乎也很好用。

查看第150–189行的代码,我看不出为什么orderedPostProcessorsnonOrderedPostProcessors有两步过程,而priorityOrderedPostProcessors没有。这是github中最早提交文件的情况,因此它背后的任何推理都会在时间的迷雾中丢失。我猜这两个案例是由不同风格的开发人员添加的。有趣的是,orderedPostProcessorsnonOrderedPostProcessorsArrayList<BeanFactoryPostProcessor>的实例化在稍后更新,以添加基于orderedPostProcessorNamesnonOrderedPostProcessorNames的大小立即声明大小的小优化,但开发人员显然从未质疑两步过程的必要性。

最新更新