我无法理解以下代码段:
public class Person {
private List<Person> people = new ArrayList<Person>();
public List<Person> getPeople() {
return new ArrayList<Person>();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:对不起,也许我的条款不正确.我想我已经看到了这样的代码,其中返回了一个新集合,并且该类有一个集合实例变量.所以我想知道其含义是什么.
这不是一个匿名类,它只是一个空列表.
我意识到你可能正在谈论返回一个尚未分配给命名变量的新对象,因此在这个意义上是匿名的.您给出的示例看起来可以改进 - 似乎getPeople()应该返回people变量,因为它已经初始化为空List并且使用它将节省在每次调用时创建新的空列表的开销getPeople().
既然你已经编辑了你的问题,我认为以上可能是你所要求的.
这将返回一个匿名列表:
public class Person {
public List<Person> getPeople() {
return new ArrayList<Person>(){};
}
}
Run Code Online (Sandbox Code Playgroud)
确切地说,它是一个匿名的ArrayList.
匿名列表将是:
public class Person {
public List<Person> getPeople() {
return new List<Person>(){
//implementing all methods required for a List.
};
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |