当前位置: 首页 > news >正文

专业app开发长沙优化科技有限公司

专业app开发,长沙优化科技有限公司,网站绑定两个域名怎么做跳转,馆陶网站建设费用文章目录 泛型21.1 概述21.2 泛型类21.3 泛型方法21.4 泛型接口 泛型 21.1 概述 JDK5中引入的特性&#xff0c;在编译阶段约束操作的数据类型&#xff0c;并进行检查 泛型格式&#xff1a;<数据类型> 泛型只能支持引用数据类型&#xff0c;如果写基本数据类型需要写对…

文章目录

  • 泛型
    • 21.1 概述
    • 21.2 泛型类
    • 21.3 泛型方法
    • 21.4 泛型接口

泛型

21.1 概述

JDK5中引入的特性,在编译阶段约束操作的数据类型,并进行检查

泛型格式:<数据类型>

泛型只能支持引用数据类型,如果写基本数据类型需要写对应的包装类。

泛型好处:

  • 统一数据类型
  • 把运行时期的问题提到了编译期间,避免了强制类型转换可能出现的异常,因为编译阶段类型就能确定下来。

泛型细节:

  • 泛型中不能写基本数据类型

    因为基本数据类型不能转成Object类型,包装类才能转成Object类型

  • 指定泛型后传递数据时,可以传入该类类型或者其子类类型

  • 如果不写泛型,类型默认是Object

21.2 泛型类

使用场景:当一个类中,某个变量的数据类型不确定时,可以定义带有泛型的类。

格式:修饰符 class 类名<类型>{....}举例:E可以理解为变量,但不是变量,不是记录数据的,是用来记录数据类型的public class ArrayList<E>{//.....  当创建给类对象时,E就确定类型}
//自定义泛型类
public class MyArrayList<E>{Object[] obj = new Object[5];int size; // size:表示长度,即存了几个元素// E:表示不确定的类型// e:形参的名字,变量名// 添加元素public boolean add(E e){obj[size] = e;size++;return true;}// 获取元素public E get(int index){return (E) obj[index];}// 重写toString方法@Overridepublic String toString() {return Arrays.toString(obj);}
}
==================================================public class Test {public static void main(String[] args) {//创建自己定义泛型类的对象MyArrayList<String> list = new MyArrayList<>();list.add("aaa");list.add("bbb");list.add("ccc");System.out.println(list);//[aaa, bbb, ccc, null, null]String s = list.get(0);System.out.println(s);//aaaMyArrayList<Integer> list1 = new MyArrayList<>();list1.add(1);list1.add(2);list1.add(3);Integer integer = list1.get(1);System.out.println(integer);//2}
}

21.3 泛型方法

方法中形参类型不确定时:

  • 方案1:使用类名后定义的泛型(如21.2中的add方法)

    在本类里所有方法都可以用

  • 方案2:在方法申明上定义自己的泛型

    只有本方法能用

格式:修饰符 <类型> 返回值类型 方法名(类型 变量名){}
举例:public <T> void show(T t){// 调用该方法时,T才能确定类型
}
public class ListUtil {// 私有化构造方法,不让外界本类的对象private ListUtil(){}// 类中定义静态方法addAll, 用来添加多个集合的元素
//public static <E> void addAll(ArrayList<E> list,E e1,E e2){//     list.add(e1);//     list.add(e2);// }//可变参数 E...epublic static <E> void addAll(ArrayList<E> list,E...e){for (E element : e) {list.add(element);}}public void show(){System.out.println("这是自定义工具类....");}}
==========================================public class Test {public static void main(String[] args) {// 在创建对象时,就可以确定泛型方法的形参类型ArrayList<String> list = new ArrayList<>();ListUtil.addAll(list,"6","8");System.out.println(list);//[6, 8]ArrayList<Integer> list2 = new ArrayList<>();ListUtil.addAll(list2,5,1);System.out.println(list2);//[5, 1]}
}

21.4 泛型接口

格式:修饰符 interface 接口名<类型>{}举例:public interface List<E>{}泛型接口的两种使用方式:1.实现类给出具体的类型2.实现类延续泛型,创建实现类对象时再确定类型
// 1.实现类给出具体的类型,实现List接口
public class MyArrayList2 implements List<String> {// 省略重写List里的抽象方法
}
==================================================public class Test {public static void main(String[] args) {//MyArrayList集合中只能存字符串,//创建MyArrayList对象时不用指定泛型MyArrayList list = new MyArrayList();list.add("666");}
}
// 2.实现类延续泛型,创建实现类对象时再确定类型
public class MyArrayList02<E> implements List<E> {// 省略重写List里的抽象方法
}
==================================================public class Test02 {public static void main(String[] args) {// 2.实现类延续泛型,创建实现类对象时再确定类型MyArrayList02<Integer> list = new MyArrayList02<>();list.add(6);}
}
http://www.ds6.com.cn/news/80529.html

相关文章:

  • 网站宣传文案有哪些指数计算器
  • 十堰外贸网站建设360推广登录
  • 非织梦做的网站能仿吗烟台seo关键词排名
  • 网站建设中的注册和登录页面网站日常维护有哪些
  • 北京企业网站建设费用百度seo排名教程
  • 网站在线咨询代码seo实训报告
  • 阆中做网站网站优化名词解释
  • 深圳给企业做网站淄博seo
  • 黑龙江网站开发班级优化大师的功能有哪些
  • 重庆高端网站设计嘉峪关seo
  • 温岭建设公司网站广州市口碑全网推广报价
  • 哪个网站有做阿里巴巴流量关键词优化公司排名榜
  • 长沙seo推广外包网站的优化从哪里进行
  • 上海网站建设哪里好全网营销推广案例
  • 服务器就是一台电脑吗培训seo
  • 百元便宜建站站长工具最近查询
  • 大学 生免费商业网站设计seo的中文含义是
  • 本机iis网站长沙网络营销外包哪家好
  • wordpress分类显示文章西安seo代理
  • 查询网站是否过期seo资源网站 排名
  • wordpress 多人版网站关键词排名手机优化软件
  • 横岗网站建设网站建设方案外包
  • 做商务楼房型图网站惠州seo计费
  • 能领免做卡的网站登录百度账号
  • 做图模板网站有哪些网络项目资源网
  • 用vs2012怎么做网站网站排名首页
  • 建网站流程的费用外贸推广公司
  • 如何查询网站点击量运营和营销是一回事吗
  • 建设网站需求分析seo指的是搜索引擎营销
  • 优质的网站制作淘宝自动推广软件