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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 《Android Studio开发实战 从零基础到App上线(第2版)》资源下载和内容勘误[通俗易懂]

    《Android Studio开发实战 从零基础到App上线(第2版)》资源下载和内容勘误[通俗易懂]资源下载下面是《AndroidStudio开发实战从零基础到App上线(第2版)》一书用到的工具和代码资源:1、本书使用的AndroidStudio版本为3.2,最新的安装包可前往Android官网页面下载。2、本书使用的AndroidNDK版本为r17,最新的安装包可前往Android官网页面下载。3、本书提供所有示例源码的demo工程下载,源码(适配Android4.1到9….

    2022年5月30日
    38
  • CEGUI build

    CEGUI build     Everygamesneed2dguisystemforplayerinterface,asweknownasOGRE3drenderenginepronouncethatitwilluseCEGUIcomponentforits2dpart,becauseCEGUIisveryprofessionalandpo

    2022年7月23日
    10
  • 用户案例怎么写_用户运营案例

    用户案例怎么写_用户运营案例用户案例 – 3Cs

    2022年4月21日
    52
  • mongodb与mysql区别对比

    mongodb与mysql区别对比参考来源mongodb与关系型数据库相比的优缺点与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度:举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的较精确值。这在某些情况下,例如通过ATM查看账户信息的时候很重要,但对于Wordnik来说,数据是不断更新和增长的,这种“较精确”的保证几乎没有任何…

    2022年6月22日
    65
  • 并发编程之深入理解threadlocal

    并发编程之深入理解threadlocal

    2021年8月3日
    62
  • 各主流浏览器内核介绍[通俗易懂]

    各主流浏览器内核介绍[通俗易懂]所谓的“浏览器内核”无非指的是一个浏览器最核心的部分——“RenderingEngine”,直译这个词汇叫做“渲染引擎”,不过我们也常称其为“排版引擎”、“解释引擎”。这个引擎的作用是帮助浏览器来渲

    2022年8月1日
    6

发表回复

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

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