我有一个类 private List<String> children;
目前已在构造函数中初始化,但这并不总是需要的,我只想在其他函数需要时才初始化它。
重点是在不更改太多代码的情况下返工当前的实现。
我知道如何用其他语言做到这一点,但到目前为止,Java 知识非常有限。
最佳答案
简而言之,这是实现它的一种方式:
public class Whatever
{
private List<String> children;
public List<String> getChildren
{
if ( children == null ) { children = new ArrayList<String>(); }
return children;
}
...
}
此外,记得写 eg. addChild( String child )
在 get
方面,而不是直接访问该字段。如果您真的很偏执和/或在线程环境中并且创建需要很长时间,您可能希望使 block 同步
。
关于java - 如何在 Java 中为成员 arraylist 变量实现惰性初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13801476/