Java 如何在创建时为对象赋值,该对象将字符串和ArrayList值作为参数?
我正在使用Spring的CommandLineRunner将初始数据集加载到数据库中。创建新对象时,该对象需要几个字符串值,然后是ArrayList值。是否有方法在新对象声明中初始化字符串值和ArrayList值的值 我可以通过为ArrayList传递null来成功创建对象,但我尝试在声明中添加字符串文本Java 如何在创建时为对象赋值,该对象将字符串和ArrayList值作为参数?,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在使用Spring的CommandLineRunner将初始数据集加载到数据库中。创建新对象时,该对象需要几个字符串值,然后是ArrayList值。是否有方法在新对象声明中初始化字符串值和ArrayList值的值 我可以通过为ArrayList传递null来成功创建对象,但我尝试在声明中添加字符串文本 //declared constructor in the Person class. public Person(String name, String address, ArrayLis
//declared constructor in the Person class.
public Person(String name, String address, ArrayList<String> values){}
为了让代码成功运行,将null赋值给ArrayList是可行的,但我要做的是声明ArrayList,类似于字符串文本的传递方式。您可能需要使用
Collections.emptyList();
或
或者,如果有多个值
Arrays.asList(„value1“, „value2”, ...);
或者使用最新版本的Java(JDK11及更高版本)
使用所有这些方法时,您需要知道返回的
列表是不可变的。向列表添加或删除元素将导致不支持操作异常
。如果您想要一个可修改的列表
,只需使用ArrayList(Collection)
构造函数即可。您可以使用Arrays.asList(“val1”、“val2”和…)
Collections.singletonList(value);
Arrays.asList(„value1“, „value2”, ...);
List.of(„value1“, „value2“, ...);