`

泛型PS

    博客分类:
  • java
 
阅读更多

1.使用泛型的时候,如果2边都使用了泛型,则2边必须一样
//  ArrayList<Object> ao = new ArrayList<String>();
//  //compile error
//  ArrayList<String> as = new ArrayList<Object>();
//  //compile error
  
  ArrayList al = new ArrayList<String>();//向后兼容
  
  ArrayList<Integer> ai = new ArrayList();//可以调用,给不使用泛型的人使用

 

2.泛型是提供给javac编译器使用的

它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合插入非法数据。

但编译器编译完带有泛型的java程序后,生成的class文件中将不再带有泛型信息,以此使程序运行效率不受到影响。

这个过程为擦除
.java----------编译(排除插入非法数据)----------(排除后进行擦除)------------.class

 

 

3.ArrayList<E> 读作ArrayList typeof E,是泛型类型
ArrayList<Integer> 是参数化的类型 ,java中用ParameterizedType类来表示,在后面使用反射泛型的时候使用

 

 

4.类上声明的泛型只在非static成员中有效
ps:静态方法不能使用类定义的泛型,而应单独定义泛型

class A<T>{

 

void a(T  a){....} ;

 

static <T> void b(T a){......};

 

// static void c(T a){.....}; compile error

 

}

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    两种实现JDBC添加、删除、修改操作的方法对比

    用来实现添加、删除、修改操作的共用方法。分为两个方法,一个是设置PreparedStatement ps;对象参数的方法。一个是执行泛型PreparedStatement ps;对象的。

    vs2008新特性 C#4.0

    vs2008新特性:c# 4.0新特性一览 ... PS:这里面还有点版本号小插曲——VS2008所对应.Net Framework是3.5C#是3.0CLR是2.0及其混乱 MS终于下决心在VS2010中把这 3个版本号都统成了4.0于是CLR3不知所终……

    汽车租赁系统<源代码>

    一个学习案列,不怎么样,主要使用了继承机制实现子类继承父类,使用抽象方法实现多态性,用ListView显示数据,用泛型集合保存数据 PS:我也是个菜鸟 O(∩_∩)O~

    矩阵乘法的 strassen 算法的 rust 语言实现,时间复杂度 O(n^2.81)

    使用 rust 实现的矩阵乘法算法,包括矩阵乘法定义的...全部使用 rust 语言实现,支持泛型,类型安全,代码简洁易懂。 Ps:导入项目是需要额外加上 rand = "0.8.5" 依赖。 #Cargo.toml [dependencies] rand = "0.8.5

    SqlHelper MSSQL数据库辅助类 自己写的,不足之处请大家指教

    需要说明的是ExecuteList和ExecuteObject是泛型方法,调用时除了需要传必须的参数外还需要给方法传入一个类型,下面做一个例子 数据库有一张表,表结构如下 Users ---- 表名 ID ---- 用户ID Name ---- 用户名 ...

    一个小桌面程序:学生信息管理系统

    一个大三学生写出的一个小桌面应用程序:学生信息管理系统,使用了数组表、集合、迭代器、泛型类、多线程等技术。由于是赶工出来的,页面设计得不够好,各位见谅 PS:一切编码在option strict:on和option infer:...

    thinker:自制j2ee快速开发框架,mystyle2.0升级版

    泛型封装dao、service、controller基类,包含分页,查询条件封装,从而达到快速crud操作(参考") 简易代码生成器,增加字段配置功能、生成页面功能,实现增删查改不需要写一句代码(参考) ehcache缓存 springmvc 整合...

    积分管理系统java源码-mystyle:我的风格

    使用泛型封装dao、service、controller基类,包含分页,查询条件封装,从而达到快速crud操作 基于hibernate简单查询条件的封装 权限管理——使用框架apache shiro进行系统认证、授权操作(完成) 系统认证、授权操作 ...

    Nginx 502 Bad Gateway错误常见的4种原因和解决方法

    ps -fe |grep “php” | grep -v “grep” | wc -l 使用如下命令查看已经有多少个php-cgi进程用来处理tcp请求 代码如下: netstat -anop | grep “php” | grep -v “grep” | wc -l 接近配置文件中设置的数值,表明...

    大数据培训课程安排.pdf

    我今天就把成都科多⼤数据公司的培 训课程分享给⼤家,希望对学习⼤数据技术的⼩伙伴能有所帮助 上图如果看的不是很清楚,我⾃⼰做了⼀个简单介绍,⽤通俗易懂的话语讲解给各位 ps:第⼀⾄第四阶段是我将java基础...

    解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误

    我让按照以下两个步骤去解决,最后在第2步中将FastCGI的timeout时间增加为300,问题解决: PS:比较羡慕迅雷的Web服务器,16G内存。 1、查看当前的PHP FastCGI进程数是否够用: netstat -anpo | grep “php-cgi” | ...

Global site tag (gtag.js) - Google Analytics