java 泛型格式及jdk1.5之前无泛型时对数组元素的处理方法

1.java泛型的格式

      泛型,即“参数化类型”,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。

     泛型时jdk 1.5 的新特性。泛型指定成某个具体类型就是泛型擦除(发生在编译时期,不是具体指定的参数类型则编译无法通过)。

    jdk1.5之后可以选择以下几种写法:

        /格式一:前面指定
        List<String> list1 = new ArrayList<>();
        //格式二:后面指定
        List list2 = new ArrayList<String>();
        //格式三:前后都指定
        List<String> list3 = new ArrayList<String>();

    为了更好的规范格式 ,jdk 1.7支持格式一写法,更符合逻辑,泛型的类型可以从前往后进行直接推导

2.泛型出现之前对数组元素的处理方法

    在jdk1.5 之前没有泛型,所以参数的类型为Object ,可以在集合中随意添加,在需要遍历时,在对不同的数据类型进行instanceof

判断,然后逐个转型。实现代码如下:

public class TypeDemo1 {
    public static void main(String[] args) {
        //jdk1.5之前,无泛型的时的集合写法
        List  list = new ArrayList();
        //添加元素 ,此时无泛型,所以add 默认是Object 类型,所以
        //不同元素的类型可以随意添加
        list.add("as");
        list.add(12);
        list.add(true);
        //获取元素,通过Object 接收,利用增强for循环遍历
        for (Object o :list
             ) {
            System.out.println(o);
            //把元素转成具体的类型,set类型比较特殊,不像list 一样有序
            //由于没有指定类型,取得时候很麻烦,需要按照不同类型依次转换
            if (o instanceof String){
                String s = (String) o;
            }else if (o instanceof Integer){
                Integer in = (Integer) o;
            }else {
                Boolean b = (Boolean) o;
            }
        }
    }
}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值