[英]How would I assign values to an object on creation, that takes String and ArrayList values as params?
我正在使用Spring的CommandLineRunner将初始数据集加载到数据库中。 创建新对象时,该对象需要一些String值,然后是ArrayList值。 有没有办法在新对象声明中初始化String值和ArrayList值的值?
我可以通过为ArrayList传入null来成功创建对象,但是我想做的是在声明中添加String文字。
//declared constructor in the Person class.
public Person(String name, String address, ArrayList<String> values){}
//implemented method from CommandLineRunner within the DatabaseLoader class.
@Override
public void run(String... args) throw Exception {
this.repo.save(new Person("Joe", "123 Main St", **null**));
为了使代码成功运行,将NULL分配给ArrayList是可行的,但是我想做的是声明ArrayList,类似于传递字符串常量的方式。
您可能要使用
Collections.emptyList();
要么
Collections.singletonList(value);
或者,如果您有多个值
Arrays.asList(„value1“, „value2”, ...);
或Java的最新版本(JDK11及更高版本)
List.of(„value1“, „value2“, ...);
使用所有这些方法,您需要知道返回的List
是不可变的事实。 在List
添加或删除元素将导致UnsupportedOperationException
。 如果您想要一个可修改的List
,则可以简单地使用ArrayList(Collection)
构造函数。
您可以使用Arrays.asList("val1", "val2",...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.