java 泛型限定(上限)

比眉伴天荒 2022-05-20 03:56 252阅读 0赞
  1. /*
  2. * 程序头部注释开始
  3. * 程序的版权和版本声明部分
  4. * Copyright (c) 2011, 烟台大学计算机学院学生
  5. * All rights reserved.
  6. * 文件名称:泛型限定(上限)
  7. * 作 者:薛广晨
  8. * 完成日期:2012 年 10 月 22 日
  9. * 版 本号:x1.0
  10. * 对任务及求解方法的描述部分
  11. * 输入描述:
  12. * 问题描述:
  13. * 程序输出:
  14. * 程序头部的注释结束
  15. */
  16. import java.util.*;
  17. class GenericTest6
  18. {
  19. public static void main(String[] args)
  20. {
  21. /*ArrayList<String> al = new ArrayList<String>();
  22. al.add("abc1");
  23. al.add("abc2");
  24. al.add("abc3");
  25. ArrayList<Integer> al1 = new ArrayList<Integer>();
  26. al1.add(3);
  27. al1.add(6);
  28. al1.add(2);
  29. printColl(al);
  30. printColl(al1);*/
  31. ArrayList<Person> al = new ArrayList<Person>();
  32. al.add(new Person("abc1"));
  33. al.add(new Person("abc2"));
  34. al.add(new Person("abc3"));
  35. printColl(al);
  36. ArrayList<Student> al1 = new ArrayList<Student>();
  37. al1.add(new Student("abc--1"));
  38. al1.add(new Student("abc--2"));
  39. al1.add(new Student("abc--3"));
  40. printColl(al1);
  41. }
  42. /*public static void printColl(ArrayList<?> al)//? :通配符
  43. {
  44. Iterator<?> it = al.iterator();
  45. while(it.hasNext())
  46. {
  47. System.out.println(it.next().toString());
  48. }
  49. }*/
  50. public static void printColl(Collection<? extends Person> al)
  51. {
  52. Iterator<? extends Person> it = al.iterator();
  53. while(it.hasNext())
  54. {
  55. System.out.println(it.next().getName());
  56. }
  57. }
  58. }
  59. class Person
  60. {
  61. private String name;
  62. Person(String name)
  63. {
  64. this.name = name;
  65. }
  66. public String getName()
  67. {
  68. return name;
  69. }
  70. }
  71. class Student extends Person
  72. {
  73. Student(String name)
  74. {
  75. super(name);
  76. }
  77. }

发表评论

表情:
评论列表 (有 0 条评论,252人围观)

还没有评论,来说两句吧...

相关阅读