android中泛型方法的用法和作用
阿新 • • 發佈:2018-12-27
舉個例子
首先我的activity中
@Route(path = "/datainit/DataInitActivity") class DataInitActivity: BaseActivity(){ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.act_datainit) ActivityUtils.replaceFragmentInActivity( supportFragmentManager, findOrCreateViewFragment(), R.id.contentFrame) }
/*
** 此方法是為了初始化fragment展示fragement
*/
ActivityUtils.replaceFragmentInActivity(
supportFragmentManager,
findOrCreateViewFragment(),
R.id.contentFrame)
然後在我的activity工具類裡
public class ActivityUtils { public static void replaceFragmentInActivity(@NonNull FragmentManager fragmentManager,@NonNull Fragment fragment, int frameId) { Utils.checkNotNull(fragmentManager); Utils.checkNotNull(fragment); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.replace(frameId, fragment); transaction.commit(); }
然後在我的工具類Utils中呼叫了另一個 Utils.checkNotNull(obj)方法,是為了判斷是否為空。
(此方法就是重點,我們用的是泛型方法)
泛型方法定義:訪問許可權 +<泛型標示>+泛型標示 方法名稱(泛型標示 引數名稱 用泛型方法是為了可以接受任意型別,然後返回相應型別。
public static <T> T checkNotNull(T obj) {
if (obj == null) {
throw new NullPointerException();
}
return obj;
}