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


相关推荐

  • 动态规划 4、基础背包问题总结(从01开始)「建议收藏」

    动态规划 4、基础背包问题总结(从01开始)「建议收藏」一、01背包问题简述:n种物品,每种一个,选或不选随你,背包一定有容量,求不超过容量的情况下,价值最大。递归方程:dp[i][v]=max{dp[i][v],dp[i-1][v-c[i]]+w[i]}

    2022年7月3日
  • “12306”的架构到底有多牛逼?

    “12306”的架构到底有多牛逼?

    2020年11月13日
  • SSDP协议_mpp协议

    SSDP协议_mpp协议privatevoidsendDatagramPacket(finalStringip){newThread(newRunnable(){@Overridepublicvoidrun(){try{MulticastSocketmu

    2022年10月9日
  • width:100vh有感而发「建议收藏」

    width:100vh有感而发「建议收藏」在看一个网页的代码是看到width:100vh 纳尼。。。这这我怎么没有见过,这是个什么属性,随之有看到min-height:calc(100vh+51px);这尼玛又是怎么用的….感叹入行已整整两年却…先介绍一下vh:相对于视窗的高度,那么vw:则是相对于视窗的高度“视区”所指为浏览器内部的可视区域大小,即window.innerWidth/window.inn

    2022年6月7日
  • Faster R-CNN算法

    Faster R-CNN算法  FasterR-CNN算法是作者RossGirshick对FastR-CNN算法的一种改进。FastR-CNN在速度和精度上都有了不错的结果,但仍有一些不足之处。FasterR-CNN算法同样使用VGG-16网络结构,检测速度在GPU上达到5fps(包括候选区域的生成),准确率也有进一步的提升。在ILSVRC和COCO2015竞赛中获得多个项目的第一名。在FasterR-CNN中提出了区域生成网络(RegionProposalNetwork,RPN),将候选区域的提取和FastR-C

    2022年9月8日
  • 使用_beginThreadex创建多线程(C语言版多线程)

    使用_beginThreadex创建多线程(C语言版多线程)_beginThreadex创建多线程解读一、需要的头文件支持#include//for_beginthread()需要的设置:ProjectàSetting–>C/C++–

    2022年7月3日

发表回复

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

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