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

长春市做网站哪家好网络销售营业执照经营范围

长春市做网站哪家好,网络销售营业执照经营范围,各企业自己的官网,城市介绍网站模板泛型 泛型的作用从使用层面上来说是统一数据类型,防止将来的数据转换异常。从定义层面上来说,定义带泛型的类,方法等,将来使用的时候给泛型确定什么类型,泛型就会变成什么类型,凡是涉及到泛型的都会变成确…

泛型

泛型的作用从使用层面上来说是统一数据类型,防止将来的数据转换异常。从定义层面上来说,定义带泛型的类,方法等,将来使用的时候给泛型确定什么类型,泛型就会变成什么类型,凡是涉及到泛型的都会变成确定的类型,代码更灵活。
不使用泛型,少了限制,则在集合添加数据就不会类型异常的错误,导致运行结果出错。

public class Test {public static void main(String[] args) {ArrayList list = new ArrayList();list.add("1");list.add(666);list.add(true);for (Object o : list) {String s = (String) o;System.out.println(s.length());}}
}

在这里插入图片描述

  1. 泛型中的类型必须是引用类型
  2. 如果泛型不写,默认类型为Object

泛型的定义

含有泛型的类

new对象的时候确定类型,格式:

public class 类名<E>{ }
public class MyArrayList <E>{Object[] obj = new Object[5];//定义一个数组,充当ArrayList底层的数组,长度直接规定为10int size;public boolean add(E e){ //定义一个add方法,参数类型需要和泛型类型保持一致obj[size] = e;size++;return true;}@Overridepublic String toString() {return Arrays.toString(obj);}
}
public class Test {public static void main(String[] args) {Student<String> list1 = new Student<>();list1.add("张三");list1.add("李四");System.out.println(list1);//直接输出对象名,默认调用toStringStudent<Integer> list2 = new Student<>();list2.add(1);list2.add(2);System.out.println(list2);}
}

在这里插入图片描述

含有泛型的方法

调用的时候确定类型,其格式:

修饰符 <E> 返回值类型 方法名(E e)
public class Student {public static <E> void addAll(ArrayList<E> list, E...e){ //定义一个静态方法addAll,添加多个集合的元素,传入可变参数for (E element : e) {list.add(element);}}
}
public class Test {public static void main(String[] args) {ArrayList<String> list1 = new ArrayList<>();Student.addAll(list1, "张三", "李四");System.out.println(list1);ArrayList<Integer> list2 = new ArrayList<>();Student.addAll(list2, 1, 2);System.out.println(list2);}
}

在这里插入图片描述

含有泛型的接口

格式:

public interface 接口名<E>{  }

什么时候确定类型分两种,一种是在实现类的时候还没有确定类型,只能在new实现类的时候确定类型了,例如ArrayList。一种是在实现类的时候直接确定类型了比如Scanner。

public interface MyList <E>{public boolean add(E e);
}
public class MyArrayList<E> implements MyList<E>{Object[] obj = new Object[5];int size;public boolean add(E e){ //定义一个add方法,参数类型需要和泛型类型保持一致obj[size] = e;size++;return true;}@Overridepublic String toString() {return Arrays.toString(obj);}
}
public class Test {public static void main(String[] args) {MyArrayList<String> list = new MyArrayList<>();list.add("张三");list.add("李四");System.out.println(list);}
}

在这里插入图片描述

泛型通配符

泛型通配符使得我们能够更加灵活地处理泛型类型,使代码更通用且可复用。包括以下几类
E:Element (在集合中使用,因为集合中存放的是元素)
T:Type(Java 类)
K:Key(键)
V:Value(值)
N:Number(数值类型)
?:表示不确定的 java 类型

public class Test {public static void main(String[] args) {ArrayList<String> list1 = new ArrayList<>();list1.add("张三");list1.add("李四");ArrayList<Integer> list2 = new ArrayList<>();list2.add(1);list2.add(2);test(list1);test(list2);}public static void test(ArrayList<?> list){ //?表示不确定的 java 类型for (Object o : list) {System.out.println(o);}}
}

泛型的上限下限

泛型的上下限可以规定泛型的范围
上限:?只能接收extends后面的本类类型以及子类类型
格式:<? extends 类型>
下限:?只能接收super后面的本类类型以及父类类型
格式:<? super 类型>
Integer的父类Number
Number的父类Object
在这里插入图片描述

http://www.yayakq.cn/news/553738/

相关文章:

  • 成都网站设计合理柚v米科技仿网站建设
  • 建设网站视频素材百度识图扫一扫
  • 网站收款即时到账怎么做的剑网三魁首怎么做网站
  • 最有效的网站推广费用wordpress字体功能
  • 网站底部备案信息企业网站设计需要了解
  • 工具磨床东莞网站建设自定义wordpress管理员的头像
  • asp简单网站开发如何做一个手机网站
  • 温州网站建设推荐网站开发费用一般是多少
  • 自己做的网站怎么设置地址网站建设的技术手段
  • 怎么在服务器上面建设网站网站建哪家好
  • 网站开发的晋升晋升空间路径买机票便宜网站建设
  • seo关于网站网上服装商城网站建设方案
  • 什么网站做简历最好小程序制作页面教程
  • @安徽网站建设做网站需要准备的素材
  • 静态网站做301重定向哪些调查网站可以做问卷赚钱
  • 专业建设汇报ppt在线网站seo优化
  • 品牌网站运营项目网络图经常被称为什么
  • 大连网站建设运营渭南市工程建设项目审批平台
  • 哈尔滨住房和城乡建设局网站招商网站建设需要什么
  • 制作简历模板网站江苏省工程建设信息官方网站
  • 建设企业网站管理系统目的网络营销相关理论有哪些
  • 做电影网站解决版权问题wordpress公众号插件
  • 优质网站建设哪家好个人seo怎么赚钱
  • 免费自己制作网站方法做网站需要多长时间
  • 网站建设优化公司重庆做网站建设
  • 网站做视频怎么赚钱的网站开发经典
  • 阿里建设网站wordpress多站点功能
  • 分析企业网站建设流程自己的公司怎么做网站
  • 手机网站制作流程图网站 优化手机版
  • 全球最大购物网站网站不备案可以做淘宝客吗