Tag: suppress warnings

如何避免使用@SuppressWarnings(“未选中”)?

我有一个Cache对象用于将对象持久化到磁盘,而我实现这一点的方式导致我必须使用@SupressWarnings。 我不是Java专家,但这看起来像代码味道,我想知道是否有一种“更好”的方式来做我在这里做的事情(例如,当我写缓存时以某种方式存储Type,并读取此值以能够实例化特定类型?)。 我的缓存对象看起来像这样(为简洁起见,删除了不相关的代码): /** * Write object o to cache file * * @param cacheName * @param o * Serializable object to write to cache */ public static void put(String cacheName, Serializable o) throws IOException { FileOutputStream fos = new FileOutputStream(getHashedFileName(cacheName)); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(o); fos.close(); } /** * Get an object from […]

在Eclipse中抑制FindBugs警告

我使用字符串作为锁,因此要确保对象是一个新实例。 FindBugs抱怨,因为直接定义字符串通常更有效(使用双引号)。 我的代码看起来像: /** A lock for the list of inputs. */ @edu.umd.cs.findbugs.annotations.SuppressWarnings(“DM_STRING_CTOR”) //We want a new String object here as this is a lock. private final Object inputListLock = new String(“inputListLock”); 我在这里做错了吗? Eclipse FindBugs插件仍然将此报告为一个问题: 模式ID:DM_STRING_CTOR,类型:Dm,类别:PERFORMANCE 使用java.lang.String(String)构造函数会浪费内存,因为这样构造的对象在function上与作为参数传递的String无法区分。 只需直接使用参数String。

IntelliJ IDEA @SuppressWarnings用于检查工具名称

我知道我可以抑制IntelliJ IDEA检查的警告: @SuppressWarnings(“CollectionDeclaredAsConcreteClass”) public PropertiesExpander(Properties properties) { this.properties.putAll(properties); } 对于来自外部的人,可能不清楚需要哪种工具进行抑制。 PMD使用前缀: @SuppressWarnings(“PMD.UnusedLocalVariable”) FindBugs使用专用注释: @SuppressFBWarnings(“NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR”) 有没有办法清楚地表明这种抑制只适用于IntelliJ IDEA?

Java:@SuppressWarnings(…)参数的完整列表(在Netbeans中)?

Netbeans提供了很多自定义的“提示”,就像警告一样,只是大多数都无法被抑制(只是全局禁用IDE)。 但现在我查看使用的代码 @SuppressWarnings(“element-type-mismatch”) 抑制被称为“可疑方法调用”的提示/警告(例如对于“错误”类型的集合remove(…) )。 好吧,我永远不会想到使用名为“element-type-mismatch”的SuppressWarnings参数来抑制一个名为“可疑方法调用”的提示,但显然,它有效。 那么,这些参数是否存在“魔力列表”? 例如,我如何抑制提示/警告“收集字段的返回”? 注意:对于此类似问题 ,未列出“元素类型不匹配” 。

@SuppressWarnings(“弃用”)和(“未使用”)在Java中意味着什么?

我的Java或Android项目中的这些行是什么意思? @SuppressWarnings(“deprecation”) @SuppressWarnings(“unused”)

如何禁止特定函数的Java编译器警告

我们总是被教导确保我们在switch语句中使用break来避免掉头。 Java编译器警告这些情况,以帮助我们不要做出微不足道(但是极其严重)的错误。 但是,我使用了案例属性作为一个function(我们不必在这里进入它,但它提供了一个非常优雅的解决方案)。 但是,编译器会发出大量警告,这些警告可能会掩盖我需要了解的警告。 我知道如何更改编译器以忽略所有直通警告,但我想在逐个方法的基础上实现这一点,以避免错过我不希望发生跌倒的地方。 有任何想法吗?