课时73:压制警告

简介: 大家想想一种场景,比如说我在路上开了一辆智能能车,我坐车里挺舒服的,且车特别智能,就要前方有人,就会提醒我:有危险有危险。如果我现在在一条人很多的道上开车,这个时候车就会一直提示:有危险有危险。我们本就知道人多危险,智能汽车的提示就会使人烦躁。让智能汽车停止提示的过程,就是压制警告。

课时73:压制警告 @SuppressWarings

 

摘要:大家想想一种场景,比如说我在路上开了一辆智能能车,我坐车里挺舒服的,且车特别智能,就要前方有人,就会提醒我:有危险有危险。如果我现在在一条人很多的道上开车,这个时候车就会一直提示:有危险有危险。我们本就知道人多危险,智能汽车的提示就会使人烦躁。让智能汽车停止提示的过程,就是压制警告。

 

压制警告

1.1 警告持续

以之前的过期程序为例,可以发现在进行程序编译的时候会出现一个错误的提示信息。如下图所示:

image.png

例如使用以下代码,此时代码使用的是 Connection。

代码如下:

class Channel {
    @Deprecated // 老系统继续用,如果是新的不要用了
    public void connect() {
        System.out.println("********** Channel **********");
    }
    public String connection() {
        return "获取了Xxx通道连接信息。";
    }
}
public class JavaDemo {
    public static void main(String args[]) {
        new Channel().connection();
    }
}

image.png

此时的运行结果为:


image.png

并未出错。

1.2 警告消失

如若此时使用的代码是Connect,此时不愿意见到这些提示信息(或者已经明确的知道了错误在哪里),那么就可以进行警告信息的压制。如以下代码所示,在程序中加入 Rawtypes,一种压制模式,并不需要背诵,因为以后用到 Eclipse工具时会自动声明,无需背诵。

代码如下:

class Channel {
    @Deprecated // 老系统继续用,如果是新的不要用了
    public void connect() {
        System.out.println("********** Channel **********");
    }
    public String connection() {
        return "获取了Xxx通道连接信息。";
    }
}
public class JavaDemo {
    @SuppressWarnings({"deprecation"})
    public static void main(String args[]) {
        new Channel().connect();
    }
}

image.png

此时的运行结果为:

image.png

此时并无警告。


它做的只是让警告信息不出现,不骚扰你而已。这个过程我们后面会经常见到,而对于这些操作的话,至于跟什么类型没有必要去强记,因为开发工具都能帮我们自动生成类型,这就是我们说的压制警告。这三种都属于结构性的东西,用开发工具都能自动生成。

 

 

 

 

 

 

相关文章
|
JavaScript
vue 实现表格循环滚动 vue-seamless-scroll插件的安装与使用
vue 实现表格循环滚动 vue-seamless-scroll插件的安装与使用
1180 0
|
Linux C语言
Linux入门教程:centos升级glibc至2.18,
官方的glibc源只更新到2.12版,很多业务需要升级到更高级版,这里介绍编译glibc升级的方式。
4207 0
|
10月前
|
Java
Idea自动生成注释
Idea自动生成注释
457 6
Idea自动生成注释
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
《AI与NLP:开启元宇宙社交互动新纪元》
元宇宙正从概念走向现实,社交互动成为其核心魅力。AI与NLP技术的迅猛发展,使自然语言交互、个性化体验和情感交流成为可能,打破了沟通壁垒,满足多元需求,并赋予社交温度。实时翻译技术支持跨语言交流,构建全球社交网络。尽管仍面临挑战,未来前景广阔,将带来更加真实、高效的虚拟社交体验。
231 6
|
存储 Java
Java 11 的String是如何优化存储的?
本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
267 1
|
消息中间件 存储 物联网
RocketMQ 之 IoT 消息解析:物联网需要的消息技术
RocketMQ 5.0 是为应对物联网(IoT)场景而发布的云原生消息中间件,旨在解决 IoT 中大规模设备连接、数据处理和边缘计算的需求。
1533 104
|
JSON 前端开发 Java
SpringBoot3怎么做统一结果封装?
在Spring Boot应用中,统一结果封装有助于团队协作,确保一致的API响应格式,提升代码质量和维护性。主要优点包括:简化前端集成工作,减少后端重复编码,以及增强接口的可维护性。实现上,首先定义`Result`类来封装响应状态码、消息、数据及时间戳;其次,通过`ResultCode`枚举类标准化状态信息。示例代码展示了如何构建这些类,并通过一个简单的控制器方法演示了如何使用它们返回JSON格式的响应结果。
680 2
|
机器学习/深度学习 数据采集 存储
使用Python实现深度学习模型:智能医疗影像分析
使用Python实现深度学习模型:智能医疗影像分析
484 0
|
运维 网络协议 Linux
[linux]常见内核TCP参数描述与配置
[linux]常见内核TCP参数描述与配置
493 0
|
JSON 数据格式
Sublime Json 格式化
Sublime Json 格式化
414 0

热门文章

最新文章