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

禁止在IntelliJ IDEA中发出“永远不会分配变量”警告

解宏扬
2023-03-14
问题内容

我们广泛使用反射在代码中设置类字段值。这些字段是通过代码访问的,但是除非通过反射,否则绝不会分配它们。因此,IDEA显示“从未分配”警告。如果我要求IDEA禁止检查,它将插入

@SuppressWarnings({"UnusedDeclaration"})

但这也使我们无法检查是否使用了该字段。

是否有可能仅禁用“未分配”检查并仅对特定字段保留“未使用”检查?

IDEA版本是10.5


问题答案:

您可以使用注释将其标记为已注入字段。(类似于它的处理方式@EJB)。IntelliJ检查(至少在版本10.5中)允许您配置自己的注释以将字段标记为已注入。

从菜单中选择分析,检查代码,然后转到未使用的声明检查,您可以配置注释。



 类似资料:
  • 问题内容: 仅仅为了概念验证而使用socket.io,到目前为止,一切工作都很好,除了我无法在客户端实现我的emit回调。我必须在这里丢失一些愚蠢的东西,但是文档目前还不是杀手。服务器可以很好地拾取“ getSomeData”事件,并且在任何地方都没有错误。 根据我在客户端socket.io源代码中看到的信息,它检查发出的最后一个参数是否是一个函数,并始终将其用作回调,但是对任何更深层的调试对我来

  • 问题内容: 几天前,我意识到PrintWriter(以及PrintStream)在写入,刷新或关闭时 从不会抛出IOException 。 而是在发生错误时设置内部标志()。 不可能获得确切的异常,只有 在 存在某些异常(checkError())的情况下。 我的问题是:为什么一个人要发生这种行为?API设计不是很糟糕吗? 问题答案: 我认为由于是和的实例,因此提供了一些更轻松的错误处理。就像其他

  • 问题内容: 我正在使用字符串作为锁,因此想确保该对象是一个新实例。FindBugs抱怨,因为直接定义字符串(使用双引号)通常更有效。我的代码如下: 我在这里做错什么了吗?Eclipse FindBugs插件仍将其报告为问题: 问题答案: 好的,所以尽管其他两个答案都很有趣且有用(两个都是+1),但我并没有最终更改代码,而是要接受自己的答案。为了使FindBugs满意,我将注释从成员变量移到了周围的

  • 问题内容: 我正在使用Asp.net MVC3,并尝试在服务器上做一个简单的Ajax发布,它返回部分视图并在搜索过程中更新我的项目列表。 Ajax成功调用服务器,服务器通过发送部分视图进行响应。但是部分视图始终在新页面中呈现。我发现这是因为它不知道即将到来的ajax调用,因此它呈现了一个新页面。 我的控制器代码非常简单: 但是无论如何,Request.IsAjaxRequest()始终返回fals

  • 我正在学习Java8以及更多关于“可完成的未来”的细节。以下是有趣的教程:https://www.callicoder.com/java-8-completablefuture-tutorial/ 我编写了以下Java类: (为了运行该代码,您需要resteasy-Client库) 但是我不明白为什么即使收集了所有的响应,主方法也不会终止... 我错过什么了吗?是否有一些“完整”的方法可以在任何地

  • 我在Visual Studio 2017 Update 3预览版中有以下解决方案,它由作为NetStandard1.4的Xamarin.Forms项目和NetStandard1.4 dotnet Core Services.API项目以及NetStandard1.6 dotnet Core单元测试项目组成。 单元测试项目仅引用服务项目。csproj文件如下所示,其中添加了用于单元测试的MSTest