Java第六天

泛型方法

定义方法的时候自己定义一个类

泛型方法在调用的时候再确定类型参数的具体类型。

可以将静态成员方法定义成一个泛型方法。

public class MAIN {
    public static void main(String[] args) {
        String s = add("aaa");
        int i = add(10);
    }
    public static <T> T add(T t)
    {
        return t;
    }
}

通配符“?”

可以在使用泛型时代表一切类型

泛型上下限

?extends 类1    表示?接收的必须是类1或者类1的子类

?super 类2     表示?接收的必须是类2或者类2的父类

泛型支持的类型

泛型不支持基本数据类型,只支持对象类型

泛型的本质是将数据类型参数化,通过擦除的方式来实现,泛型信息只存在于代码编译阶段,编译期后所有的都被擦除变成Object

包装类

就是把基本数据类型包装成对象的类型。

public class MAIN {
    public static void main(String[] args) {
        Integer i = Integer.valueOf(100);
        Character c = Character.valueOf('a');
        Float f = Float.valueOf(0);
    }
}

自动装箱:基本数据类型自动转换为包装类型

自动拆箱:包装类型自动转换为基本数据类型

public class MAIN {
    public static void main(String[] args) {
        Integer i1 = 100;
        Integer i2 = 200;

        int ii1 = i1;
        int ii2 = i2;

        ArrayList<Integer> list = new ArrayList<>();
        list.add(100);
        System.out.println(list);
    }
}

调用add时,100是被自动装箱,变成Integer对象

包装类其他功能

1.可以把基本类型的数据转换为字符串

2.可以把字符串的内容转换成内容对应的基本类型

public class MAIN {
    public static void main(String[] args) {
        int i = 100;
        String s = Integer.toString(i);

        String s1 = "120";
        int i1 = Integer.parseInt(s1);
        int i2 = Integer.valueOf(s1);
        System.out.println(i1);
        System.out.println(i2);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值