Java unbound wildcard generics

前端 未结 1 704
Happy的楠姐
Happy的楠姐 2021-01-01 04:44

Are there any advantages of using wildcard-type generics in the Bar class over completely skipping them?

public class Foo {}

public in         


        
相关标签:
1条回答
  • 2021-01-01 05:44

    There are multiple advantages.

    • They won't produce compiler warnings like using the raw type would
    • They give more type safety. For example, consider if Foo was List instead. If you used List instead of List<?>, you could do this:

      myBar.getFoo("numbers").add("some string");
      

      even if the list was only supposed to contain Numbers. If you returned a List<?>, then you would not be able to add anything to it (except null) since the type of list is not known.

    • They document something completely different than a raw type, namely that Foo is typed on some unknown but specific type.
    0 讨论(0)
提交回复
热议问题