gpt4 book ai didi

java - 未经检查的 Actor 警告

转载 作者:行者123 更新时间:2023-12-02 12:32:26 25 4
gpt4 key购买 nike

我收到了 Unchecked Cast 警告,尽管浏览了许多 StackOverflow 帖子,但似乎无法解决此问题。正确、安全的制作方法是什么?预先感谢:-)

/**
* Fragment for retaining data across screen orientation changes
*/

public class RetainedFragment<T> extends Fragment {

public T data;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}

public static <T> RetainedFragment<T> findOrCreate(FragmentManager fm, String tag) {

// THIS LINE I GET AN UNCHECKED CAST WARNING
RetainedFragment<T> retainFragment = (RetainedFragment<T>) fm.findFragmentByTag(tag);

if(retainFragment == null){
retainFragment = new RetainedFragment<>();
fm.beginTransaction()
.add(retainFragment, tag)
.commitAllowingStateLoss();
}

return retainFragment;
}
}

最佳答案

这取决于 Java 中泛型的具体实现方式。简而言之,在运行时无法知道您的 RetainedFragment 是否实际上是一个RetainedFragment<T> 。换句话说,系统知道它是RetainedFragment。 ,但它无法知道T data是您想要的类型。

您可以在这里阅读更多信息:https://docs.oracle.com/javase/tutorial/java/generics/genTypes.html

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

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