zoukankan      html  css  js  c++  java
  • java 泛型中class<T> 和T的区别是什么?

    public <T> boolean edit(T entity) 和public <T> T get(Class<T> c, Serializable id)中这两种参数的定义和调用有什么区别?
    public <T> boolean edit(T entity){
         return true;  
    }
    
    public <T> void get(Class<T> entity,Serializable id){
    
    }
    找到答案了:
    Class 首先是个Class对象,描述的意思是构建T这个类型的模板
    T 是个T对象,描述的意思是这个对象是T这个类型。
    打个比方,T=人的时候,T a 表示的意思是:a=具体某个人,具体某个人可能是张三可能是李四……(好土);
    Class a表示的意思是:a=人类,这个种族。有点近似其他语言的type的意思。
    什么地方使用呢:你只能提供这个type却没办法提供一个具体的实例的时候(你只能告诉卖家我要买苹果却不能拿一个苹果给他看告诉它我要买这个东西的时候)。网上常见的例子就是利用反射实例化1个T对象...etc.
  • 相关阅读:
    检测mysq组复制的脚本
    centos7安装NFS
    mysql组复制安装
    springboot+VUE(一)
    redis集群配置
    codevs 3139 栈练习3
    codevs 3138 栈练习2
    codevs 2622 数字序列
    codevs 1054 电梯
    codevs 1507 酒厂选址
  • 原文地址:https://www.cnblogs.com/shuilangyizu/p/8621937.html
Copyright © 2011-2022 走看看