android中泛型方法的用法和作用

举个例子

首先我的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;
}

猜你喜欢

转载自blog.csdn.net/mintent/article/details/85279550
今日推荐