为什么“片段fragment = null”以及该片段定义的含义是什么?

时间:2018-08-03 21:48:32

标签: android android-fragments fragmentpageradapter

这是来自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;
    } 

问题:

  • 为什么片段被声明为“ Fragment fragment = null;”,null的含义是什么?
  • 为什么我不能只把“片段片段”放在这里?之间有什么区别 这两个例子?

1 个答案:

答案 0 :(得分:2)

在第一种情况下,您为对象提供了一个初始值,而该值为空值。在第二种情况下,您将使该对象未初始化。

重要的部分是下面的代码:如果可以保证代码可以在任何分支中使用,则对象将被初始化,而不是在开始时就不对其进行初始化。否则,如果不能保证,编译器将抱怨(假设以后您将使用该对象,否则将收到未使用变量的警告)。