Java随笔录

2019-12-25

1.对象包装器与自动装箱

ArrayList<Integer> list = new ArrayList<>();

尖括号中的参数类型不允许为基本数据 类型,,也就是说不能写成ArrayList<int>,此时就用到Integer对象包装器类。

对象包装器类是不可变的,即一旦构造了包装器就不可改变包装在其中的值。同时对象包装器类还是final,因此不能定义它们的子类。

自动装箱:list.add(1);将自动变换成list.add(Integer.valueOf(1));这种变换称为自动装箱。

自动拆箱:int n = list,get(i);相当于int n = list.get(i).intValue();

装箱:将基本数据类型用相应的类包装器包装起来。int-->Integer

拆箱:将包装器类转化为相应的基本数据类型。Integer-->int

拆箱和装箱是编译器认可的,而不是虚拟机。编译器在生成类的字节码时,插入必要的方法调用,虚拟机只是执行这些字节码。

2.枚举类

在比较两个枚举类型的值时,永远不需要用equals,直接使用“==”即可。(equals实际上也是用的==)

//基本使用方式
public enum Size {
    SMALL,MIDDLE,LARGE,WXTAR_LARGE;
}


//添加构造方法
public enum Size {

    SMALL("S"),MIDDLE("M"),LARGE("L"),WXTAR_LARGE("XL");

    private String size;

    Size(String s) {
        this.size = s;
    }


    public String getSize() {
        return size;
    }

    public void setSize(String size) {
        this.size = size;
    }

}

3.捕获异常

异常有两种类型:未检查异常和已检查异常。(运行时异常和编译时异常)

对于已检查异常,编译器将会检查是否提供了处理器。但是很多常见的异常都属于未检查异常(空指针),编译器不会查看是否为这些类 提供了处理器。

4.重载与重写

重载:同一个类里,方法名相同,参数列表不同,(返回类型可以不同,返回类型不可作为方向重载的必要条件)
重写:主要发生在继承里,将父类的方法进行扩展。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值