【发布时间】:2016-04-05 12:53:58
【问题描述】:
我有一个名为UrlController的类,方法是这样的:
public class UrlController {
private static final String BASE_URL = "http://api.site.mil/";
private static Retrofit retrofit;
private UrlController() {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static Retrofit getRetrofit() {
return retrofit;
}
}
我应该在getRetrofit() 方法中检查if(retrofit==null) 还是它总是不为空?
【问题讨论】:
-
为什么需要检查?它可以为空,也可以是另一个值。
-
你是在做工厂方法吗?
-
你应该对使用返回语句的目标类型进行检查。
-
我想检查
retrofit是否为空,实例化另一个Retrofit并返回 -
为什么要在构造函数中创建静态链接实例而不是静态初始化块?
标签: java static initialization