3
Collections.emptyList()返回List <Object>?
我在浏览Java推断通用类型参数的规则时遇到了一些麻烦。考虑以下类,该类具有可选的list参数: import java.util.Collections; import java.util.List; public class Person { private String name; private List<String> nicknames; public Person(String name) { this(name,Collections.emptyList()); } public Person(String name,List<String> nicknames) { this.name = name; this.nicknames = nicknames; } } 我的Java编译器给出以下错误: Person.java:9: The constructor Person(String, List<Object>) is undefined 但是Collections.emptyList()返回类型<T> List<T>,不是List<Object>。添加演员表无济于事 public Person(String name) { this(name,(List<String>)Collections.emptyList()); } …