然而有无发相同种植艺术可以当类型检查时检查来为sort()传递的数组元素类型以及Comparator泛型的匪雷同并且报错呢。但是生没来同一种艺术好当路检查时检查出为sort()传递的数组元素类型和Comparator泛型的不同等并且报错呢。

图片 1

图片 2

达成图是普林斯顿算法课part1.Mergesort章节为起的参阅代码,可以窥见是代码来三高居警戒。造成的隐患就是咱们鞭长莫及以列检查时意识送入sort()函数的数组元素类型及Comparator的泛型不均等。比如达图虽没报错,但是运行时见面丢弃来深(如下图):

齐图是普林斯顿算法课part1.Mergesort章节于闹底参阅代码,可以发现此代码有三远在警戒。造成的隐患就是咱们鞭长莫及在品种检查时意识送入sort()函数的数组元素类型及Comparator的泛型不一样。比如达图虽不曾报错,但是运行时见面丢弃来大(如下图):

图片 3

图片 4

授课于来底缓解措施是朝着sort()函数传入数组元素自身提供的Comparator,以保证数组元素与Comparator泛型的一致性。但是生无起同样种植办法可以于列检查时检查来往sort()传递的数组元素类型以及Comparator泛型的免相同并且报错呢?后来通过尝试,发现java的泛型方法机制得以协助我们达成这个目的。代码如下:

任课为闹的化解智是向阳sort()函数传入数组元素自身提供的Comparator,以保证数组元素和Comparator泛型的一致性。但是发生没有起同等种方式可以档次检查时检查有往sort()传递的数组元素类型及Comparator泛型的免同等并且报错呢?后来由此尝试,发现java的泛型方法机制可以拉我们上这个目的。代码如下:

图片 5

图片 6

可以发现当送入sort()函数的数组元素也Double而Comparator的泛型为Integer,eclipse能当运行前检查来荒谬从而唤醒用户。需要专注的凡概念泛型方法时必须在回来值前边加一个<Item>,否则会报错
(泛型函数使用时无需安装具体泛型参数,它见面活动根据传入参数类型来控制自己之泛型类型) 
 

可窥见当送入sort()函数的数组元素呢Double而Comparator的泛型为Integer,eclipse能以运作前检查出错误从而唤醒用户。需要留意的是概念泛型方法时须以回去值前边加一个<Item>,否则会报错
(泛型函数使用时不必安装具体泛型参数,它会自行根据传入参数类型来支配好的泛型类型) 
 

巴一篇讲解泛型方法的好文:https://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html

沾满一篇讲解泛型方法的好文:https://www.cnblogs.com/iyangyuan/archive/2013/04/09/3011274.html

相关文章