我正在尝试将字符串数组作为参数传递给Wetland类的构造函数;我不明白如何将字符串数组的元素添加到字符串数组列表。
import java.util.ArrayList;
public class Wetland { private String name; private ArrayList species; public Wetland(String name, String[] speciesArr) { this.name = name; for (int i = 0; i < speciesArr.length; i++) { species.add(speciesArr[i]); } } } 问题来源于stack overflow
您已经具有内置方法:-
List species = Arrays.asList(speciesArr); 注: -您应该使用List species没有ArrayList species。
Arrays.asList返回一个不同的ArrayList-> java.util.Arrays.ArrayList,不能将其类型转换为java.util.ArrayList。
然后,您将不得不使用addAll方法,这不是很好。所以就用List
注意:-返回的列表Arrays.asList是固定大小的列表。如果要向列表中添加某些内容,则需要创建另一个列表,并用于addAll向其中添加元素。所以,那么您最好采用第二种方法,如下所示:-
String[] arr = new String[1];
arr[0] = "rohit";
List<String> newList = Arrays.asList(arr);
// Will throw `UnsupportedOperationException
// newList.add("jain"); // Can't do this.
ArrayList<String> updatableList = new ArrayList<String>();
updatableList.addAll(newList);
updatableList.add("jain"); // OK this is fine.
System.out.println(newList); // Prints [rohit]
System.out.println(updatableList); //Prints [rohit, jain]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。