java - 在 Spring 配置中初始化空数组列表?

标签 java spring jakarta-ee

我正在学习 Spring,并且阅读了 Spring in Action 一书。我想知道您是应该注入(inject)一个空数组列表(如果可能的话)还是像下面的示例那样创建它?

public class StackOverflow {

    private List<Car> cars;

    public StackOverflow() {
        cars = new ArrayList<Car>();
    }
}

最佳答案

你可以像这样注入(inject)一个空列表,但这可能是不必要的,除非你可能正在尝试设置一个示例模板 spring XML 配置。

<property name="cars">
  <list></list>
</property>

如果您想快速设置空列表以防止出现空指针问题,那么只需使用 Collections.emptyList()。您也可以按如下方式“内联”。请注意,尽管 Collections.emptyList() 返回一个不可修改的列表。

public class StackOverflow {

    private List<Car> cars = Collections.emptyList();

您还需要汽车的 getter 和 setter 才能从 spring XML 使用它。

关于java - 在 Spring 配置中初始化空数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9663660/

相关文章:

spring - Spring Boot Test 如何保持多个测试套件的上下文?

spring - 在Spring boot中加载具有最近邻居的neo4j节点

java - 带有 spring 的拦截器 - 上下文初始化失败

eclipse - 如何将 JAX-RS 添加到现有项目

java - 不可转换的类型;无法将 'android.support.v4.app.Fragment' 转换为 'com.google.android.gms.maps.SupportMapFragment'

java - Android - 如何将数据从主要 Activity 发送到加载的 fragment

java - 如何将参数传递给匿名类?

java - 无法实例化 ViewPagerIndicator CirclePageIndicator

java - spring boot 1.3 maven模块无法 Autowiring

java - 将复杂类实例传递给 REST Web 服务的最佳做法是什么?