是否可以创建一个函数来缩短强制转换,如(伪代码):

MyFragment fragment = (MyFragment) getFragmentManager().findFragmentByTag("mytag");
//shorten:
findByTag(MyFragment.class, "mytag");


private Fragment findByTag(Class<?> cast, String tag) {
    return (cast) getFragmentManager().findFragmentByTag(tag);
}

最佳答案

按如下方式修复代码:

private <F extends Fragment> F findByTag(Class<F> cast, String tag) {
    return (F) getFragmentManager().findFragmentByTag(tag);
}

现在你可以不用施法来称呼它:
MyFragment f1 = findByTag(MyFragment.class, "aaaaa");
YourFragment f2 = findByTag(YourFragment.class, "bbbbb");

关于java - 我可以缩短类型转换吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10870428/

10-10 08:02