繁体   English   中英

如何在创建时将值赋给对象,该对象将String和ArrayList值作为参数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM