作家
登录

Java反射机制应用实践

作者: 来源: 2017-05-18 08:56:25 阅读 我要评论

) { 
  •                 System.out.println("Found Use Case: " + uc.id() + " " + uc.description()); 
  •                 useCases.remove(new Integer(uc.id())); 
  •             } 
  •         } 
  •  
  •         for(int i : useCases) { 
  •             System.out.println("Warning: Missing use case-" + i); 
  •         } 
  •     } 
  •  
  •     public static void main(String[] args) { 
  •         List<Integer> useCases = new ArrayList<Integer>(); 
  •         Collections.addAll(useCases, 47, 48, 49, 50); 
  •         trackUseCases(userCases, PasswordUtils.class); 
  •     } 
  •  
  • 解决泛型擦除

    如今有下面如许一个营业场景,我们有一个泛型集合类List<Class<? extends Pet>>,我们须要统计出这个集合类中每种具体的Pet有若干个。因为Java的泛型擦除,留意类似List<? extends Pet>的做法肯定是不可的,因为编译器做了静态类型检查之后,到了运行时代JVM会将集合中的对象都视为Pet,然则并不会知道Pet代表的毕竟是Cat照样Dog,所以到了运行时代对象的类型信息其实全部损掉了。p.s: 关于泛型擦除,我在上一篇文┞仿琅绫擎有具体解释,感兴趣的同伙可以看一看。

    为了实现我们膳绫擎的例子,我们先来定义几个类:

    1. public class Pet extends Individual { 
    2.     public Pet(String name) { super(name); } 
    3.     public Pet() { super(); } 
    4.  
    5. public class Cat extends Pet { 
    6.     public Cat(String name) { super(name); } 
    7.     public Cat() { super(); } 
    8.  
    9. public class Dog extends Pet { 
    10.     public Dog(String name) { super(name); } 
    11.     public Dog() { super(); } 
    12.  
    13. public class EgyptianMau extends Cat { 
    14.     

        推荐阅读

        Linux性能分析工具汇总合集

      常见用法: netstat &ndash;npl 可以查看你要打开的端口是否已经打开。 netstat &ndash;rn 打印路由表信息。 netstat &ndash;in 供给体系上的接口信息,打印每个接口的MTU,输入分>>>详细阅读


      本文标题:Java反射机制应用实践

      地址:http://www.17bianji.com/lsqh/35285.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)