2022-01-20更新:有些警告确实没有对应的忽略警告的功能。
2022-01-10更新:其实IntelliJ并没有删除忽略警告的功能,保是自己不会用而已,示例如下:
在过时的位置上按Alt + Enter,操作如下:
如上图,在Kotlin禁止选项中,仔细看就知道它的功能,可以把忽略警告的注解设置在函数上、文件上(包含导包)、类上(不包含导包)、语句上。选择其中一个即可,比如选择禁止语句的'DEPERCATION',效果如下:
对于其它的警告,也是一样的操作,光标定位到警告处,然后按Alt + Enter,然后在检查选项中选择把注解放在什么位置即可。
先上结果:
Java:
@SuppressWarnings("deprecation")
Kotlin:
@Suppress("deprecation")
在最新版本的IntelliJ或者AndroidStudio中,调用一个过时的函数时会有删除线,而且编译的时候也会出现警告信息,但是有时候我们知道它是过时的,而且我们需要使用这个过时的函数,这时候就想去除这个删除线和警告,但是IDE竟然把添加忽略过时的功能给去除了,真是搞不懂为什么要去掉这个功能,以前写代码都是通过IDE功能生成的,现在没有这个功能了,手写还真不会,所以查了一下资料,然后在这里记录一下,方便以后查找。
如下,getDate()函数是过时的:
在编译的时候,IDE的的构建面板也会显示出有一个过时的警告,如下:
在开发中,有时候我们就是要用过时的函数,而且不希望看到这些警告,可以在函数上添加这个注解:
@SuppressWarnings("deprecation")
效果如下:
如上图,getDate()函数上的删除线没有了,而且编译时也没有警告信息了,如下:
在Kotlin中,使用同样的注解并不能忽略过时函数,如下:
需要使用@Suppress("deprecation")来忽略过时,示例如下:
// 未检测强转
@Suppress("UNCHECKED_CAST")
requestResultTwo.obj = "" as T
// 未使用
@Suppress("unuse")