这是来自FragmentPagerAdapter的getItem方法的一段代码:
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
switch (position){
case 0:
fragment = new FragmentLight();
break;
case 1:
fragment = new FragmentDark();
break;
}
return fragment;
}
问题:
答案 0 :(得分:2)
在第一种情况下,您为对象提供了一个初始值,而该值为空值。在第二种情况下,您将使该对象未初始化。
重要的部分是下面的代码:如果可以保证代码可以在任何分支中使用,则对象将被初始化,而不是在开始时就不对其进行初始化。否则,如果不能保证,编译器将抱怨(假设以后您将使用该对象,否则将收到未使用变量的警告)。