java数组和list转换_js将数组转换成字符串

java数组和list转换_js将数组转换成字符串日常开发时,经常遇到需要List与数组互相转换的场景。List转换成数组,可以用List的toArray()或者toArray(T[]a)的方法。数组转换成List,可以用Arrays.asList()或者Collections.addAll()方法。如果仅仅为了打印数组,不需要把数组转换成List,可以使用Arrays.toString()方法。一.List转数组List转换成数组可以调用toArray方法,可以将List直接转为Object[]数组这里有两个重载的方法,一般使用带泛

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

日常开发时,经常遇到需要List与数组互相转换的场景。
List转换成数组,可以用List的toArray()或者toArray(T[] a)的方法。
数组转换成List,可以用Arrays.asList()或者Collections.addAll()方法。
如果仅仅为了打印数组,不需要把数组转换成List,
可以使用Arrays.toString()方法。

一.List转数组

List转换成数组可以调用toArray方法,可以将List直接转为Object[]数组
这里有两个重载的方法,
一般使用带泛型参数的方法:

Object[] toArray();
<T> T[] toArray(T[] a);

无参数toArray方法,这里注意不能强转,可能会出现报错.

泛型的toArray方法要注意类型必须是包装类型,基本类型是不行的.

二.数组转List

可以使用Arrays.asList()或者Collections.addAll()方法,推荐使用Collections.addAll()方法,这样得到的返回对象可以往里面添加新的元素。

String[] strArray = { "a", "b" };
List<String> strList = Arrays.asList(strArray);

注意该方法的返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,
它并非java.util.ArrayList类。
java.util.Arrays.ArrayList类具有set(),get(),contains()等方法,但是不支持添加add()或删除remove()方法,调用这些方法会报错。

如果直接往返回的list添加一个新元素,运行会报错UnsupportedOperationException

strList.add("c");

解决方法是新建一个List对象,并且加入返回的strList,然后再add新元素:

List<String> strListNew = new ArrayList<>(strList);
strListNew.add("new data");

Collections.addAll():

String[] strArray = { "a", "b" };
List<String> strList = new ArrayList<>(strArray.length);
Collections.addAll(strList, strArray);
strListNew.add("c");

得到的返回对象可以直接添加新的元素。

Java8可用stream流将3种基本类型数组转为List

List<Integer> intList= Arrays.
stream(new int[] { 1, 2,  3}).boxed().collect(Collectors.toList());
List<Long> longList= Arrays.
stream(new long[] { 1, 2, 3 }).boxed().collect(Collectors.toList());
List<Double> doubleList= Arrays.
stream(new double[] { 1, 2, 3 }).boxed().collect(Collectors.toList());
String[] arrays = {"a", "b", "c"};
List<String> stringList= Stream.of(arrays).collect(Collectors.toList());

其他的数据类型short[]byte[]char[]在JDK1.8中目前不支持

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172262.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月23日 下午3:46
下一篇 2022年8月23日 下午4:00


相关推荐

  • ORA-01453: SET TRANSACTION must be first statement of transaction

    ORA-01453: SET TRANSACTION must be first statement of transaction

    2021年5月9日
    145
  • java中级面试题及答案_Java中级面试题

    java中级面试题及答案_Java中级面试题一、Java笔试题基础1.Java中的异常有哪几类?分别怎么使用?检出异常,非检出异常。检出异常需要try…catch才能编译通过。非检出异常不用try…catch也能编译通过。RuntimeException是非检出异常,不需要try…catch也能编译通过。IoException,SQLException等等其他所有异常都是检出异常,必须要try…catach才能编译通过。2.常用的集合类有哪些?比如List如何排序?分两种,一种实现Set接口,一种是实现List接口的。Set:Tre

    2022年10月12日
    5
  • Visifire组件应用

    Visifire组件应用本文转载自:http://www.cnblogs.com/forgetu/archive/2010/06/07/Visifire-AxisLabels.html这篇中简单介绍一下Axis(坐标轴)的主要的几个属性的设置。Visifire废话少说,主要的几个属性及属性的设置和意思请看下面的示例代码和注释:viewsource…

    2022年7月21日
    14
  • Vdbench工具安装使用

    Vdbench工具安装使用一 概述 1 1 内容简介 Vdbench 是一个命令行使用程序 旨在帮助工程师和客户生成用于验证存储性能和存储数据完整性的磁盘 I O 负载 还可通过输入文本文件指定 Vdbench 执行参数 它是一个免费的工具 容易使用 而且常常用于测试和基准测试 本指南向读者介绍 Vdbench 工具在在 Linux 和 Windows 平台安全使用 对快速学习该工具提供参考 文档包含以下内容 安装配置 常用参数详解 常用测试用例 1 2 产品版本

    2026年3月17日
    1
  • 小程序获取openid40029[通俗易懂]

    小程序获取openid40029[通俗易懂]小程序获取openid40029{“errcode”:40029,“errmsg”:“invalidcode,hints:[req_id:XDgCIfyFe-.LPgiA]”}还出现了errcode:002的情况错误原因:小程序开发者工具中的appid和后台的appid不一致总结40029有可能是因为1.appid与密钥不一致(重置下密钥也可以)2.前后端的a…

    2022年4月28日
    46
  • 八电极脂肪秤方案软硬件与APP功能介绍[通俗易懂]

    八电极脂肪秤软硬件端功能说明:  LED显示:    1、3个超白光LED    2、显示数字:188.8.8(两个小数点)    3、显示符号:ble、kg指示符    4、不显示体脂率(由APP端显示)    电源:4.5V的3节干电池    开机:压力开机,上秤重量达到开机压力值(5±2kg)开机    按键:单位键,无实体按键,    称重范围:标称:5-180kg,    分度:0.05kg    小重量刷零:最小锁定重量5kg,5kg以下重

    2022年4月9日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号