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

什么是Java中的SuppressWarnings(“未选中”)?

薄高懿
2023-03-14
问题内容

有时在浏览代码时,我看到许多方法都指定了注释:

@SuppressWarnings("unchecked")

这是什么意思?


问题答案:

有时Java泛型只是没有让你做你想要什么,你需要有效地告诉编译器,你在做什么真的会是在执行时的法律。

当我模拟通用接口时,通常会感到很痛苦,但是也有其他示例。通常值得尝试的是找到一种避免警告而不是抑制警告的方法(Java Generics FAQ在这里有所帮助),但是有时即使有可能,它也会使代码变形太多,以至于抑制警告变得更加整洁。在这种情况下,请务必添加解释性注释!

相同的泛型FAQ在此主题上有多个部分,以“什么是“未经检查”的警告?”开头。-值得一读。



 类似资料:
  • 问题内容: 我不了解Java的这一功能。我知道它使编码更容易,有时看起来更整洁,但这的实际用途是什么?相反,我觉得最好显示警告,因为将来任何人在修改代码之前都可以引用它们。这@SuppressWarnings是否提高了编译效率,还是根据任何编码标准? 问题答案: 其他答案已经解释了很多用例,但是我想强调一点, 有时您绝对需要使用它来克服语言本身的局限性,在这些情况下,使用绝对是合法的。 在其他情况

  • 问题内容: 我的Java或Android项目中的这些行是什么意思? 问题答案: 该注释禁用某些编译器警告。在这种情况下,将发出有关已过时的代码()和未使用的局部变量或未使用的私有方法()的警告。本文介绍了可能的值。

  • 问题内容: 中有效的警告名称列表是什么? 介于之间的位。 问题答案: 这取决于你的IDE或编译器。 以下是Eclipse Galileo 的列表: 全部禁止所有警告 装箱以取消有关装箱/拆箱操作的警告 投射以取消与投射操作有关的警告 dep-ann抑制相对于已弃用注释的警告 弃用以抑制与弃用有关的警告 故障排除以抑制与switch语句中缺少中断有关的警告 最终抑制相对于不会返回的最终阻止的警告 隐

  • 在我正在做的一个项目中,应用程序是使用类似于以下命令启动的: 我从未见过选项。稍微搜索一下,它似乎用于在Java应用程序中配置随机数生成。 是这样吗?什么时候应用?

  • 问题内容: 除了让编译器检查超类是否具有该方法之外,是否有任何其他理由来注释方法? 问题答案: 如您所描述的,@ Override创建一个编译时检查,以确保方法被覆盖。这对于确保尝试覆盖时不会出现愚蠢的签名问题非常有用。 例如,我看到以下错误: 此类按编写方式进行编译,但是将@Override标记添加到equals方法将导致编译错误,因为它不会覆盖Object上的equals方法。这是一个简单的错

  • 问题内容: 我正在研究Java代码,我需要在其中实现线程。我正在通过JAVA 8 API,我了解了Stamped Locks。谁能告诉我为什么在多线程中使用StampedLocks? 提前致谢。 问题答案: StampedLock是使用ReadWriteLock(由ReentrantReadWriteLock实现)的替代方法。StampedLock和ReentrantReadWriteLock之间