object转换成数组java_Java基础(四)Object数组转成String
数组
Java有个问题就是toArray()⽅法是Object[],所以总结了⼏种Object数组转成 String 数组的⽅法:
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];
c++中string的用法System.arraycopy(src, 0, dest, 0, src.length);
2、pyOf
//第⼀个参数表⽰源数组,第⼆个表⽰复制的长度,最后⼀个参数是指定类型
public static T[] copyOf(U[] original, int newLength, Class extends T[]> newType)
//重载⽅法,同类型
public static T[] copyOf(T[] original, int newLength)
Object[] objectArray = { "A", "B", "C" };
String[] stringArray = pyOf(objectArray,objectArray.length, String[].class);
⽽System.arrayCopy只拷贝已经存在数组元素。如果我们看过pyOf()的源码就会知道,该⽅法的底层还是调⽤了
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);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论