当前位置: 首页 > 面试题库 >

FindBugs 2.0中已弃用的注释

吴修洁
2023-03-14
问题内容

查看FindBugs
2.0中的注释列表
,我发现其中许多注释已被弃用。

其中一些(@CheckForNull@NonNull等)已被弃用,因为它们具有等效的JSR-305注释。最终解决有关使用哪组注释的困境是一件好事。

但一些FindBugs的特定注释,如@DefaultAnnotation@DefaultAnnotationForFields,也被否决,我找不到自己的位置如何使用任何解释。我正在尝试迁移大量使用这些注释的代码库,但我有些卡住了。

我看到JSR-305具有@ParametersAreNonnullByDefault,我可以用来替换的某些实例@DefaultAnnotationForParameters,但是并不能涵盖所有情况。

我在这里错过大事了吗?我应该使用某种设置文件还是代替注释?


问题答案:

(注意:有关FindBugs的注释,应优先选择jar3​​05.jar中的注释而不是annotation.jar中的类似注释吗?)

从作者的PDF(在此处),第51页:

JSR-305仅会定义ParametersAreNonnullByDefault,但可以在JSR-305之外定义更多

•并且可以由解释JSR-305批注的静态分析器解释

…因此,基本上,您可以自己定义它,并给它与要替换的名称相同的名称,并且它应该可以正常工作,因为FindBugs仅按名称运行注释(并且可能更喜欢JSR-305注释,也许尤其是由于弃用)。

例如,这是的来源@ParametersAreNonnullByDefault

有关更多信息,您可能需要给JSR-305和FindBugs的作者发送电子邮件:Bill
Pugh(这是他的网站)。此外,该问题已添加到Sourceforge错误跟踪器(此处)。



 类似资料:
  • 我刚开始编译iOS 11,注意到苹果现在宣布了这个属性 由于不赞成: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin iOS 11中是否有其他属性修复此警告? 默认值会保持为真吗?或者将来会如何处理?

  • 问题内容: 今天,我决定将我的android应用程序从Java转换为Kotlin!:)但是,当我输入以下内容时,我感到非常惊讶: 然后Android Studio告诉我:“’getActionView(MenuItem!):View!’ 已弃用。Java中已弃用“ 因此,在问您解决方案之前,我先问谷歌解决方案是什么,我相信我找到了解决方案:“直接使用getActionView()”。 所以我像这样

  • 目前我正在开发一个带有三个菜单项的底部导航栏的应用程序。我曾使用来单击项目。但现在我面临的问题是该方法已贬值。 应用程序语言:Java 问题:“setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemSelectedLi

  • 由于API 27已弃用。对此最好的替代方案是什么? 在我的例子中,我知道需要使用之类的东西,但我不知道在我的代码中这需要去哪里。 我在班上得到了这些进口货: 但是 被划掉了。

  • 我一直在开发一个使用Google Drive API的Android应用程序。它最初是从这里的quickstart示例构建的。API调用的简化序列(此处未显示正确的错误处理)是: 它一直运行良好,我正准备发布我的应用程序。但是,在驱动器API更新之后,我突然收到一个警告 方法usingOAuth2(Context,String,String...)GoogleAccountCredential是不