在Java中如何将ArrayList<String>对象转换为String[]数组?

推荐答案

List<String> list = ..;
String[] array = list.toArray(new String[0]);

例如:

List<String> list = new ArrayList<String>();
//add some stuff
list.add("android");
list.add("apple");
String[] stringArray = list.toArray(new String[0]);

不传递任何参数的toArray()方法返回Object[].因此,您必须将数组作为参数传递,该参数将用列表中的数据填充并返回.您也可以传递空数组,但也可以传递所需大小的array.

Important update:最初上面的代码使用new String[list.size()].然而,this blogpost表明,由于JVM优化,现在使用new String[0]更好.

Java相关问答推荐

我们如何直接使用kerminldap服务票证来通过ldap进行身份验证并形成LDAP上下文

无法在Java中将hhmmss格式的时间解析为LocalTime

Java 22模式匹配不适用于记录模式匹配.给出汇编问题

JPackaged应用程序启动MSI调试,然后启动System. exit()

Java函数式编程中的双值单值映射

使用传递的参数构造异常的Mockito-doThrow(或thenThrow)

Bean定义不是从Spring ApplationConext.xml文件加载的

try 判断可选参数是否为空时出现空类型安全警告

如何从Keyloak映射Hibernate实体中的用户

使用存储在字符串变量中的路径目录打开.pdf文件

解析方法";javax/imageio/metadata/IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node时加载约束冲突

X=x*0.90;产生有损转换误差.X*=0.90;不是.为什么?

JFree Chart从图表中删除边框

本机方法(JNI)总是编译的吗?

模拟JUnit未检测到返回字符串的方法的任何声纳覆盖

在WHILE()循环初始化部分中声明和初始化变量的Java语法?

如何在Spring Security中设置一个任何人都可以打开的主页?

控制器建议异常处理

ControlsFX RangeSlider在方向垂直时滞后

将@Transactional添加到Spring框架中链下的每个方法会产生什么效果?