gpt4 book ai didi

java - 试图摆脱未经检查的 Actor 警告

转载 作者:行者123 更新时间:2023-12-01 11:05:25 25 4
gpt4 key购买 nike

我有一个使用一些泛型的方法。

    @SuppressWarnings("unchecked")
public static <Param1 extends Fragment, Param2 extends Context, Result> Optional<Result> useContextFromFragment(
final WeakReference<Param1> reference,
final UseContext<Result, Param2> task) {

final Param1 fragment;
if (reference == null || (fragment = reference.get()) == null)
return Optional.absent();

final Activity activity = fragment.getActivity();
if (activity == null || activity.isFinishing())
return Optional.absent();

return Optional.fromNullable(task.work((Param2) activity));
}

Activity 是一个扩展 Context 的类。现在有办法摆脱未经检查的 Actor 阵容吗?

最佳答案

不,因为 Param1Param2是两个独立的类型参数,不能保证WeakReference<Param1>.get().getActivity()实际上是 Param2 类型.

你相信这一点。

<小时/>

不相关,但正如 @biziclop 评论的那样,类型参数的约定是单个大写字母,或者可能是两个。

你的方法应该是:

public static <F extends Fragment, C extends Context, R> Optional<R> useContextFromFragment(
final WeakReference<F> reference,
final UseContext<R, C> task) {

关于java - 试图摆脱未经检查的 Actor 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33011996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com