java学习第16天(泛型 增强for)
泛型概述
是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。
格式:
<数据类型>
注意:该数据类型只能是引用类型。
好处:避免了强制类型转换,比如上个实验 String s=(String)e.nextElement();
如果我们使用了泛型在抽象的接口中,Interator <String>i=new Collection().interator() ,后面它就会自动认为Interator的对象只能是String ,方便且避免了很多错误。格式 ArrayList<String> a=new ArrayList<String>(); 这是泛型类的使用,泛星还运用在方法上,比如,再函数重载中我们会遇到很多的参数类型,我们就必须要在函数中定义很多的类型,比如:
Class Tool{
piublic void show(String s){
System.out.println(s);
}
piublic void show(int t){
System.out.println(t);
}
}
在主函数中
Tool t=new Tool();
t.show(hello);
t.show(5);
如果参数的类型多的话,就需要重载很多,很麻烦,泛型方法就帮助我们解决了这个问题。
Class Tool{
piublic<T> void show(T s){
c
}
Tool t=new Tool();
t.show(hello);
t.show(5);
此时当输入hello时,自动传递类型String。
然后是泛型接口
我们定义public interface inf<T>{
public abstract void show(T t);
}
实现接口
public Class infimpl<T> implements inf<T>{
public void show(T t){
System.out.println(t);
}
}
增强for
for(元素的数据类型 变量名 : 数组或者Collection集合的对象) {
使用该变量即可,该变量其实就是数组或者集合中的元素。
}
简化了数组和集合的遍历
举例:
ArrayList a=new ArrayList();
a.add("hello");
a.add("boy");
for(String s : a){
System.out.println(s);
}//以前要用迭代器
java学习第16天(泛型 增强for)的更多相关文章
- Java 学习(16):集合框架
Java 集合框架 早在Java 2中之前,Java就提供了特设类.比如:Dictionary, Vector, Stack, Properties 这些类用来存储和操作对象组. 虽然这些类都非常有 ...
- Java学习笔记-基础语法Ⅷ-泛型、Map
泛型 泛型本质上是参数化类型,也就是说所操作的数据类型被指定为一个参数,即将类型由原来的具体的类型参数化,然后在使用/调用时传入具体的类型,这种参数类型可以用在类.方法和接口中,分别为泛型类.泛型方法 ...
- Java学习笔记九(泛型)
1.介绍 所谓的泛型就是将类型作为一种參数来传递.有了泛型后类型不再是一成不变的.能够通过泛型參数来指定. 能够提供程序开发的灵活性. 2.泛型类或接口的使用 泛型类声明时.与普通类没有太大的差别,仅 ...
- JAVA学习笔记16——线程的创建和启动
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码).Java使用线程执行体来代表这段 ...
- Java 学习笔记(16)——Java数据库操作
数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据 ...
- Java学习笔记16(面向对象九:补充内容)
总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不 ...
- java学习笔记16(正则表达式)
正则表达式: 定义:在pattern类中有简单规则定义,具有特殊含义的字符串: 作用:用于一些字符串,比如验证注册邮箱,密码,用户名等: 正则表达式的语法: 1)字符:'\'反斜杠 \t 代表制表 ...
- JAVA学习笔记16——控制线程
Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程执行. join线程 Thread提供了让一个线程等待另一个线程完成的方法——join().当在某个线程执行流中 ...
- JAVA学习笔记16——线程生命周期
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New).就绪(Runnable).运行(Running).阻塞(Blocking)和 ...
随机推荐
- (转) Summary of NIPS 2016
转自:http://blog.evjang.com/2017/01/nips2016.html Eric Jang Technology, A.I., Careers ...
- 存储过程中使用事务,sql server 事务,sql事务
一.存储过程中使用事务的简单语法 在存储过程中使用事务时非常重要的,使用数据可以保持数据的关联完整性,在Sql server存储过程中使用事务也很简单,用一个例子来说明它的语法格式: 代码 ...
- hosts 文件妙用
127.0.0.1 localhost www.baidu.com www.126.com www.xiaoxiao.com 1: 如果在hosts文件中加入这句话,则localhos ...
- MVC 下 JsonResult 的使用方法(JsonRequestBehavior.AllowGet)【转】
MVC 默认 Request 方式为Get. actionpublic JsonResult GetPersonInfo(){var person = new{Name = "张三" ...
- JKS TO PEM
tomcat 的ssl 会使用到jks,而haproxy的ssl(非tcp代理方式)会使用到pem 如果从tomcat的ssl需要迁移到haproxy的ssl,就需要从jks中读取相关信息生成pem文 ...
- [2016.01.01]万峰文本处理专家 v2.0
<万峰文本处理专家>是一款简单易用,且功能强大的各类文本文件处理软件.1.支持多任务的处理模式,允许一次处理多个任务.2.支持正则表达式替换,替换更加强大:3.支持各类关键字的行处理操作: ...
- About SSDT BI
Welcome to Microsoft Marketing Speak hell. With the 2012 release of SQL Server, the BIDS, Business I ...
- [zz]简单有效,在家就能锻炼!
简单有效,在家就能锻炼!下面这套动作美腿.美臀.瘦腰,一步到位,是全身塑形的必备,不用多练,每组1分钟.只需一把椅子即可,献给没有时间.条件去健身房的健身爱好者们! http://weibo.com/ ...
- win8安装SQL Server2008企业版
win8 系统,安装的时候要先安装SQL Server2008企业版 再安装Visual studio2010,不然SQL Server会有问题.
- 也说php从mysql数据库通过服务器端json返回数据出现乱码问题
我最近需要用js和json与mysql数据库做一个两级联动的下拉菜单,发现当从数据库中返回的是中文时客户端会出现乱码问题,经过在百度上查找终于找到了解决办法如下: while($row=$MySqlc ...