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

大学生网站建设课程总结免费网站

大学生网站建设课程总结,免费网站,传媒有限公司免费网站,渭南网站建设wifi文章目录 List -> Array1. 调用toArray()方法直接返回一个Object[]数组&#xff1a;2. 给toArray(T[])传入一个类型相同的Array&#xff0c;List内部自动把元素复制到传入的Array中&#xff1a;3. 通过List接口定义的T[] toArray(IntFunction<T[]> generator)方法&…

文章目录

  • List -> Array
    • 1. 调用toArray()方法直接返回一个Object[]数组:
    • 2. 给toArray(T[])传入一个类型相同的Array,List内部自动把元素复制到传入的Array中:
    • 3. 通过List接口定义的T[] toArray(IntFunction<T[]> generator)方法:
  • Array-> List

List -> Array

1. 调用toArray()方法直接返回一个Object[]数组:

import java.util.List;
public class Main {public static void main(String[] args) {List<String> list = List.of("apple", "pear", "banana");Object[] array = list.toArray();for (Object s : array) {System.out.println(s);}}
}

这种方法会丢失类型信息,所以实际应用很少。

2. 给toArray(T[])传入一个类型相同的Array,List内部自动把元素复制到传入的Array中:

import java.util.List;
public class Main {public static void main(String[] args) {List<Integer> list = List.of(12, 34, 56);Integer[] array = list.toArray(new Integer[3]);for (Integer n : array) {System.out.println(n);}}
}

注意到这个toArray(T[])方法的泛型参数并不是List接口定义的泛型参数,所以,我们实际上可以传入其他类型的数组,例如我们传入Number类型的数组,返回的仍然是Number类型:

import java.util.List;
public class Main {public static void main(String[] args) {List<Integer> list = List.of(12, 34, 56);Number[] array = list.toArray(new Number[3]);for (Number n : array) {System.out.println(n);}}
}

但是,如果我们传入类型不匹配的数组,例如,String[]类型的数组,由于List的元素是Integer,所以无法放入String数组,这个方法会抛出ArrayStoreException。

如果我们传入的数组大小和List实际的元素个数不一致怎么办?根据List接口的文档,我们可以知道:

如果传入的数组不够大,那么List内部会创建一个新的刚好够大的数组,填充后返回;如果传入的数组比List元素还要多,那么填充完元素后,剩下的数组元素一律填充null。

实际上,最常用的是传入一个“恰好”大小的数组:

Integer[] array = list.toArray(new Integer[list.size()]);

3. 通过List接口定义的T[] toArray(IntFunction<T[]> generator)方法:

Integer[] array = list.toArray(Integer[]::new);

这种函数式写法我们会在后续讲到。

Array-> List

通过List.of(T…)方法最简单:

Integer[] array = { 1, 2, 3 };
List<Integer> list = List.of(array);

对于JDK 11之前的版本,可以使用Arrays.asList(T…)方法把数组转换成List。

要注意的是,返回的List不一定就是ArrayList或者LinkedList,因为List只是一个接口,如果我们调用List.of(),它返回的是一个只读List:

import java.util.List;
public class Main {public static void main(String[] args) {List<Integer> list = List.of(12, 34, 56);list.add(999); // UnsupportedOperationException}
}

对只读List调用add()、remove()方法会抛出UnsupportedOperationException。

http://www.ritt.cn/news/29912.html

相关文章:

  • 龙岩兼职南宁正规的seo费用
  • 深圳最好的做网站国际域名注册网站
  • 网站微信推广怎么做百度助手应用商店下载安装
  • 网站首页图片做多大营销策划精准营销
  • 做教育机构中介网站seo快速建站
  • 微信自助建站系统小广告公司如何起步
  • 网站建设中心北京企业网站推广哪家公司好
  • 怎么做网站开发优化网站标题是什么意思
  • 哪个网站发布招聘信息免费医院线上预约
  • 顾村网站建设短视频营销优势
  • 专业从事网站开发公司手机百度搜索
  • php动态网站开发案例教程实训答案成都seo招聘信息
  • 南充哪里做网站如何推广自己的店铺
  • 果洛wap网站建设哪家好百度24小时人工客服
  • 无锡网站建设公司网站标题优化排名
  • 做一晚水泥工歌曲网站麒麟seo
  • 做网站表格网络推广页面
  • 阿里云网站域名证书今天特大新闻
  • 网络营销哪些公司好做呢优化方案怎么写
  • wordpress不支持ie9海淀区seo搜索引擎
  • 深圳网站建设网站排名优化青岛seo经理
  • 城阳做网站十大跨界营销案例
  • 广州市建筑信息平台北京网站sem、seo
  • 网站整体色彩的建设最新国际足球世界排名
  • 网站内部结构优化重庆关键词优化软件
  • 网站主题如何制作经典软文范例大全
  • WordPress动态二维码插件seo系统优化
  • 建设外卖网站需要哪些资质营销案例最新
  • 网站建设 漳州青岛做网站推广
  • 网站开发 平台青山seo排名公司