가 그들이 인터페이스로 표시하기 때문에이 문제는 특히 객체를 생성하는 방법을 것 같은자바 annotaion
private ISource source;
public ISource getSource() {
return source == null ? source = ... : source;
}
private IProduct product;
public IProduct getProduct() {
return product == null ? product = ... : product;
}
private IFoo foo;
public IFoo getFoo() {
return foo == null ? foo = ... : foo;
}
는 소리. –
또 다른 점은 너무 많은 사람들은 "uuups, thingy가 여전히 null"로 인해 증가 된 복잡성 (및 견고성 문제)보다 "메모리의 사소한 절약"을 평가하는 것처럼 변수의 게으른 초기화가 좋은 것이라고 가정합니다. 그래서 사이드 노트 : 아마도 당신은 단순히 귀하의 필드가 항상 null이 아닌지 확인하십시오. – GhostCat
질문은 어떻게'ISomeInterface'가 생성되는지입니다. BTW'foo == null? foo : ...'는 단지'null'을 반환하기 때문에 만들지 않습니다. 당신은 아마'! = null'이되지 않을 것입니다. –