Object数组转String数组

Object数组转String数组1、System.arraycopy把一个数组中某一段字节数据放到另一个数组中//src:源数组;srcPos:源数组要复制的起始位置;dest:目的数组;destPos:目的数组放置的起始位置;length:复制的长度.publicstaticvoidarraycopy(Objectsrc,intsrcPos,Objectdest,intdestPos,intlength)Object[]src={“A”,”B”,”C”};String[]dest=

大家好,又见面了,我是你们的朋友全栈君。

1、System.arraycopy把一个数组中某一段字节数据放到另一个数组中

//src:源数组;srcPos:源数组要复制的起始位置;dest:目的数组;destPos:目的数组放置的起始位置;length:复制的长度.
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

Object[] src = { “A”, “B”, “C” };

String[] dest = new String[src.length];
System.arraycopy(src, 0, dest, 0, src.length);

2、Arrays.copyOf
//第一个参数表示源数组,第二个表示复制的长度,最后一个参数是指定类型
public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType)
//重载方法,同类型
public static <T> T[] copyOf(T[] original, int newLength)
Object[] objectArray = { “A”, “B”, “C” };
String[] stringArray = Arrays.copyOf(objectArray,objectArray.length, String[].class);
Arrays.copyOf()不仅仅只是拷贝数组中的元素,在拷贝元素时,会创建一个新的数组对象。

而System.arrayCopy只拷贝已经存在数组元素。如果我们看过Arrays.copyOf()的源码就会知道,该方法的底层还是调用了System.arrayCopyOf()方法。

3、Arrays.asList
这里我们首先将对象数组转换为对象列表,然后使用toArray(T[])方法将列表转储到新分配的String数组中,具体使用参考使用指南

Object[] objectArray = { “A”, “B”, “C” };
String stringArray[] = Arrays.asList(objectArray).toArray(new String[0]);
//.toArray(new String[objectArray.length]);

4、Java8中Arrays.stream
在Java 8中,我们可以使用Stream API轻松地将对象数组转换为字符串数组。我们的想法是首先将指走的对象数组 转换为顺序Stream,然后使用toArray()方法将流的元素累积到新的字符串数组中。

Object[] objectArray = { “A”, “B”, “C” };
String stringArray[] = Arrays.stream(objectArray).toArray(String[]::new);

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

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

(0)
上一篇 2022年5月4日 下午11:00
下一篇 2022年5月4日 下午11:00


相关推荐

  • css 三角形

    css 三角形1 有边框的三角形我们来写下带边框的三角形 如果是一个正方形 我们写边时 会用到 border 但我们这里讨论的三角形本身就是 border 不可能再给 border 添加 border 属性 所以我们需要用到其他办法 最容易想到的 是叠加层 思路是将两个三角形叠加在一起 外层三角形稍大一些 颜色设置成边框所需的颜色 内层三角形绝对定位在里面 整体就能形成带边框三角形的假象 这里就涉及到一个绝对定位的问题 上 下 左 右四种方向的三角形相对于父级定位是不同的 首先我们来看下 当定

    2026年3月19日
    2
  • 简单window.open()使用方法和按钮关闭window.open页面

    简单window.open()使用方法和按钮关闭window.open页面简单window.open()使用方法和按钮关闭window.open页面

    2022年4月23日
    149
  • 服务器winsxs文件夹怎么清理工具,win10系统winsxs文件夹清理的操作方法

    服务器winsxs文件夹怎么清理工具,win10系统winsxs文件夹清理的操作方法很多小伙伴都遇到过对 win10 系统 winsxs 文件夹清理进行设置的困惑吧 一些朋友看过网上对 win10 系统 winsxs 文件夹清理设置的零散处理方法 并没有完完全全明白 win10 系统 winsxs 文件夹清理是如何设置的 今天小编准备了简单的操作办法 只需要按照 1 在管理员命令提示符窗口中输入 Dism exe Online Cleanup Image AnalyzeCompo 命

    2026年3月19日
    2
  • 深入理解Java类加载器(1):Java类加载原理解析

    深入理解Java类加载器(1):Java类加载原理解析1      基本信息每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其背后的机理有一定理解有助于排查程序中出现的类加载失败等技术问题,对理解java虚拟机的连接模型和java语言的动态性

    2022年8月11日
    7
  • mysql 端口号_mysql的端口号(mysql常用端口号)「建议收藏」

    mysql的端口号(mysql常用端口号)2020-05-0721:58:15共10个回答mysql的默认端口号是多少mysql默认端口号为3306,修改端口号方法:修改配置文件/etc/my.cnf如何查看mysql的端口号1使用命令showglobalvariableslike’port’;查看端口号2修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参…

    2022年4月18日
    401
  • java如何验证手机号码_Java 手机号码正则表达式验证「建议收藏」

    java如何验证手机号码_Java 手机号码正则表达式验证「建议收藏」1.正则表达式的字符串表示StringmobileRegex=”^1(3|4|5|7|8)\\d{9}$”;字符^意义:表示匹配的字符必须在最前边;字符$意义:表示待匹配串的结束位置;字符\d{5,9}意义:\d是数字,{5,9}是5-9位,如果只是验证手机号,且校验的正则表达式如下:/^1[3|5|8][0-9]\d{4,8}$/;不妨写成/^1[3|5|8]\…

    2022年5月20日
    201

发表回复

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

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