What is parametric polymorphism in Java (with example)?

后端 未结 3 605
温柔的废话
温柔的废话 2021-02-07 07:18

It is my understanding that parametric polymorphism is a technique which allows uniform actions over a variety of data(types). Is my knowledge correct?

Is this example p

3条回答
  •  日久生厌
    2021-02-07 08:06

    Wikipedia:

    In programming languages and type theory, parametric polymorphism is a way to make a language more expressive, while still maintaining full static type-safety. Using parametric polymorphism, a function or a data type can be written generically so that it can handle values identically without depending on their type. Such functions and data types are called generic functions and generic datatypes respectively and form the basis of generic programming.

    So a great example is the standard Java library collections.

    For example, Collections.sort is declared as:

    public static > void sort(List list)
    

    It can take a list of objects of type T that is comparable to other T's and sort the list, without worrying about what type T actually is.

    It is different from subtype polymorphism: subtype polymorphism is exemplified by the fact that sort can take any sort of List -- an ArrayList, a LinkedList, etc.

提交回复
热议问题