Java泛型小记

本文探讨了Java中的泛型通配符,包括其在编译期错误检查的作用,以及如何通过上限和下限实现更灵活的数据操作。示例代码展示了如何使用泛型通配符在不同类型的集合间进行安全的数据处理,如ArrayList和ArrayList。通过print_coll方法,演示了如何遍历不同类型元素的集合,并强调了泛型通配符在处理不确定类型的参数时的重要性。
摘要由CSDN通过智能技术生成

泛型可以把运行期的错误提前到编译期进行检查并排除

package Object_Oriented;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;

/*泛型通配符
    ?  不知道接受何种类型的数据
    不能创建对象(定义的时候不能用),只能作为方法的参数使用(参数传递)
    泛型没有继承(不能设想用Object类型去匹配所有的子类,只能匹配当前指定的类型,所以要用通配符来解决未定或多种可能的参数
 */

/*泛型通配符高级使用
上限:类型名称 <? extends 类> 对象名称
只能接受该类型及其子类型

下限:类型名称 <? super 类> 对象名称
只能接受该类型及其父类型
 */

public class G_I implements Generic <String>{
    @Override
    public void Method(String s) {
        ArrayList<Integer> arr1 = new ArrayList<>();
        arr1.add(1);
        arr1.add(2);
        arr1.add(3);
        ArrayList<String> arr2 = new ArrayList<>();
        arr2.add("Bill");
        arr2.add("Lily");
        arr2.add("Leo");
        print_coll(arr1);
        print_coll(arr2);
    }
    public static void print_coll(ArrayList<?> arrayList){
        Iterator iterator = arrayList.iterator();
        while (iterator.hasNext()){
            Object obj = iterator.next();
            System.out.println(obj);
        }
    }

    public static void main(String[] args) {
        new G_I().Method("Hello");
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值