构建只读空列表的最佳方法是什么?

Jam*_*are 2 java java-6

我正在我的系统中创建一个"事件"的不可变表示,因此对于在构造函数中传递的所有者列表,我想对它们进行只读视图.此外,如果他们传入null列表,我想在这种情况下制作一个只读的空列表.

现在,由于Collections.unmodifiableList在梁木null,我现在有这样的:

userOwners_ = Collections.unmodifiableList(userOwners != null 
                                           ? userOwners 
                                           : new ArrayList<String>(0));
Run Code Online (Sandbox Code Playgroud)

但这似乎有点丑陋和低效.在Java中有更优雅的方法吗?

Tom*_*ine 5

Collections.emptyList().但严重的是,null应该是NPE.