为什么是 "Fragment fragment = null" 片段的定义是什么意思?
Why is a "Fragment fragment = null" and what is meaning of this definition of fragment?
下面是一段来自 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 fragment = null;",null是什么意思?
- 为什么我不能直接放在这里 "Fragment fragment;" 两者有什么区别
这两个例子?
在第一种情况下,您为对象赋予了一个初始值,即空值。在第二种情况下,您将保留未初始化的对象。
重要的部分是后面的代码:如果你能保证在代码可能采取的任何分支中,对象都会被初始化,那么你可以在开始时保持未初始化状态。否则,如果不能保证,编译器会报错(假设您稍后将使用该对象,否则您将收到未使用变量的警告)。
下面是一段来自 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 fragment = null;",null是什么意思?
- 为什么我不能直接放在这里 "Fragment fragment;" 两者有什么区别 这两个例子?
在第一种情况下,您为对象赋予了一个初始值,即空值。在第二种情况下,您将保留未初始化的对象。
重要的部分是后面的代码:如果你能保证在代码可能采取的任何分支中,对象都会被初始化,那么你可以在开始时保持未初始化状态。否则,如果不能保证,编译器会报错(假设您稍后将使用该对象,否则您将收到未使用变量的警告)。