增强for( 数据类型 变量名 : 数组或者集合 ){}

11增强for循环遍历数组

A:增强for循环遍历数组
a:格式:
/

* JDK1.5新特性,增强for循环
* JDK1.5版本后,出现新的接口 java.lang.Iterable
* Collection开是继承Iterable
* Iterable作用,实现增强for循环
*
* 格式:
* for( 数据类型 变量名 : 数组或者集合 ){
* sop(变量);
* }
*/
public static void function_1(){
//for对于对象数组遍历的时候,能否调用对象的方法呢
String[] str = {"abc","itcast","cn"};
for(String s : str){
System.out.println(s.length());
}
}

  /*
   *  实现for循环,遍历数组
   *  好处: 代码少了,方便对容器遍历
   *  弊端: 没有索引,不能操作容器里面的元素
   */
  public static void function(){
    int[] arr = {3,1,9,0};
    for(int i : arr){
      System.out.println(i+1);
    }
    System.out.println(arr[0]);
  }

12增强for循环遍历集合

  A:增强for循环遍历集合  
    /*
     *  增强for循环遍历集合
     *  存储自定义Person类型
     */
    public static void function_2(){
      ArrayList<Person> array = new ArrayList<Person>();
      array.add(new Person("a",20));
      array.add(new Person("b",10));
      for(Person p : array){
        System.out.println(p);// System.out.println(p.toString());
      }
    }

13泛型的引入

A:泛型的引入
在前面学习集合时,我们都知道集合中是可以存放任意对象的,
只要把对象存储集合后,那么这时他们都会被提升成Object类型。
当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。比如下面程序:
public class GenericDemo {
public static void main(String[] args) {
List list = new ArrayList();
list.add("abc");
list.add("itcast");
list.add(5);//由于集合没有做任何限定,任何类型都可以给其中存放
//相当于:Object obj=new Integer(5);

    Iterator it = list.iterator();
    while(it.hasNext()){
      //需要打印每个字符串的长度,就要把迭代出来的对象转成String类型
      String str = (String) it.next();//String str=(String)obj;
                                      //编译时期仅检查语法错误,String是Object的儿子可以向下转型
                                      //运行时期String str=(String)(new Integer(5))
                                      //String与Integer没有父子关系所以转换失败
                                      //程序在运行时发生了问题java.lang.ClassCastException
      System.out.println(str.length());
    }
  }
}

14泛型的定义和使用

A:泛型的定义和使用
/*
* JDK1.5 出现新的安全机制,保证程序的安全性
* 泛型: 指明了集合中存储数据的类型 <数据类型>
*/

public class GenericDemo {
  public static void main(String[] args) {
    function();
  }
  
  public static void function(){
    Collection<String> coll = new ArrayList<String>();
    coll.add("abc");
    coll.add("rtyg");
    coll.add("43rt5yhju");
//    coll.add(1);
    
    Iterator<String> it = coll.iterator();
    while(it.hasNext()){
      String s = it.next();
      System.out.println(s.length());
    }
  }
}

15Java中的伪泛型

 A:Java中的伪泛型:
   泛型只在编译时存在,编译后就被擦除,在编译之前我们就可以限制集合的类型,起到作用
 例如:ArrayList<String> al=new ArrayList<String>();
 编译后:ArrayList al=new ArrayList();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 4,289评论 0 16
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 01集合使用的回顾 02集合的学习目标 03集合继承关系图 | | ...
    葡小萄家的猫阅读 595评论 0 0
  • 学校组织春游,他很兴奋,六点半就起床摇醒凌晨两点才睡的妈妈。半梦半醒的她对他说:“让我睡到闹钟响,还差二十分钟。你...
    细嗅野蔷薇阅读 269评论 6 2