首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IntelliJ IDEA中禁用Java的自动装箱

在IntelliJ IDEA中禁用Java的自动装箱
EN

Stack Overflow用户
提问于 2013-04-05 02:27:28
回答 2查看 2.4K关注 0票数 4

有没有办法在IntelliJ IDEA中禁用Java5和6的自动装箱,而不允许开发人员在集成开发环境中使用该功能?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-05 02:37:50

我认为您不能在维护目标编译版本的同时完全禁用自动装箱--这是特定Java版本的一个特性。

在IntelliJ中,您可以将自动装箱的检查级别更改为"Error“。为此,请执行以下操作:

进入设置>检查,然后在搜索栏中键入“"Auto-boxing".

  • Set”。

  • 单击“

  • severity to”

  • 。这将导致检查测试将自动装箱的任何情况报告为错误。您也应该对自动拆箱执行同样的操作。

接下来,您可以添加在测试代码时运行的代码检查(PMD、FindBugs、Cobertura等)。al.)如果有任何东西被自动装箱或自动拆箱,这将使构建失败。

票数 13
EN

Stack Overflow用户

发布于 2013-04-05 02:38:33

如果不使Java成为“非Java”的形式,就不能真正禁用自动装箱;但是,您可以减少一些最糟糕的自动装箱问题的影响。

代码分析器FindBugs有一些特定的自动装箱规则,以避免自动装箱变得非常有问题的情况。

它们都以"Bx:“标识符开头:

原始值被装箱然后立即拆箱(BX_BOXING_IMMEDIATELY_UNBOXED)

  • Bx:原始值被装箱然后被拆箱以执行图元强制(BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION)

  • Bx:已装箱的值被取消装箱然后立即被重新装箱的(BX_UNBOXING_IMMEDIATELY_REBOXED)

  • Bx:方法分配一个已装箱的原语只是为了调用toString (DM_BOXED_PRIMITIVE_TOSTRING)

  • Bx:方法调用低效的浮点数构造函数;使用(DM_FP_NUMBER_CTOR)

  • Bx:方法调用低效的数字构造函数使用静态valueOf;使用静态valueOf代替(DM_NUMBER_CTOR)

您可以将Findbug报告集成到您的构建中,根据您使用的构建系统,甚至可以根据FindBugs发现的问题来抱怨或失败构建。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15818875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档