Java day13

--------------
包装类
    Integer

    1.Integer i = 10;    int -> Integer 
        自动装箱相当于Integer i = Integer.valueOf(10);
    2.int a = i;        Integer -> int
        自动拆箱相当于int a = i.intValue();
        
        public int intValue()
        以 int 类型返回该 Integer 的值

        public static Integer valueOf(int i)
        返回一个表示指定的 int 值的 Integer 实例

    3.构造方法创建初始化
        new Integer(int i)
        new Integer(String str)

    4.String  ->  Integer
            Integer.valueOf()
            或new Integer(str)
      String  ->  int
              Integer.parseInt(str);

    5.只有Integer有常量池
         取值范围:-128~127
         初始化   Integer i1 = 128;
                  Integer i2 = 128;
                  i1 == i2//false

                 此时相当于new对象

--------------------------------
数组:
    1.定义长度后,长度不可变
    2.可以存储基本数据类型和引用数据类型
    3.一个数组只能存储相同类型的元素


集合:一个容器,主要存储任意类型的数据
    1.可变长数组                 
    2.存储引用数据类型
    3.可以存储不同类型的元素

------------------------------------
Iterable-接口
    1.有一个方法iterator()  ->  获取一个迭代器
       返回一个iterator接口的实现类(Itr)对象(向上造型)

    2.迭代器
        a.遍历数组或迭代集合中所有的元素
        b.
            hasNext()    判断有没有下一个元素
            next()    获取下一个元素
            remove()    删除当前元素    
            
            PS:迭代删除元素时需要使用迭代器中本身有的remove方法,如果使用集合的remove(Object o)会出现异常报错
            ConcurrentModificationException - 并发修改异常

        c.foreach    增强for循环
            本质上就是一个迭代器
            但是只能获取元素,不能修改(删除。。。)

------------------------------------
泛型
    1.只要是类型的地方都可以使用泛型来代替,泛型表示所有类型(Object)
    2.规定了的泛型仅在编译时有效,运行时还是支持Object类

定义泛型的步骤:
      a.在类/接口上定义加上<E>
          ps:  Collection<E> col = new ArrayList();

      b.在类/接口的方法中,具体类型就可以使用E来代替

作用:
    让代码的复用性更强,比如不用写过多的重载方法


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值