在这次的Java 18中,新增了一个@snipppet标签,主要用于JavaDoc中需要放示例代码的场景。其实在Java 18之前,已经有一个@code标签,可以用于在JavaDoc中编写小段的代码内容,比如在之前介绍Simple Web Server视频中,提到的这段样例代码,就是用@code标签来写的:

 * <p> Example of a simple file server:
* <pre>{@code
* var addr = new InetSocketAddress(8080);
* var server = SimpleFileServer.createFileServer(addr, Path.of("/some/path"), OutputLevel.INFO);
* server.start();
* }</pre>

虽然以前版本已经有类似功能,但依然还有各种各样的缺点,所以这次的@snipppet标签就在这些方面做了增强:

  • 有效性检查,比如:当我们的样例代码中包含部分语法错误的时候,将会出现错误提示

  • 语法高亮,如下图所示,使用@snippet的时候,IDE已经可以支持高亮,更有利于编辑,对比下@code的 内容,编辑的时候就没那么舒服了

  • 代码编辑时的IDE支持也有了很大的提升,以往使用@code来编辑代码的时候基本就是当纯文本来编辑的,而现在在使用@snippet的时候,IDE给出了更多更好的支持,比如大家最喜欢的代码提示:

所以,这个功能DD觉得还是非常有用的,尤其是对于一些写框架和SDK的小伙伴(毕竟对JavaDoc的要求高)。

本篇内容对应视频已完成录制,点击查看:Java 18 新特性:@snipppet标签

如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性教程!

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业消息、分享深度技术干货、获取优质学习资源

Java 18 新增@snipppet标签,注释中写样例代码更舒适了!的更多相关文章

  1. java 线程、线程池基本应用演示样例代码回想

    java 线程.线程池基本应用演示样例代码回想 package org.rui.thread; /** * 定义任务 * * @author lenovo * */ public class Lift ...

  2. java I/O进程控制,重定向 演示样例代码

    java I/O进程控制,重定向 演示样例代码 package org.rui.io.util; import java.io.*; /** * 标准I/O重定向 */ public class Re ...

  3. java 又一次抛出异常 相关处理结果演示样例代码

    java 又一次抛出异常 相关处理结果演示样例代码 package org.rui.ExceptionTest; /** * 又一次抛出异常 * 在某些情况下,我们想又一次掷出刚才产生过的违例,特别是 ...

  4. Java 序列化Serializable具体解释(附具体样例)

    Java 序列化Serializable具体解释(附具体样例) 1.什么是序列化和反序列化 Serialization(序列化)是一种将对象以一连串的字节描写叙述的过程:反序列化deserializa ...

  5. java文件夹相关操作 演示样例代码

    java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...

  6. tensorflow学习笔记----tensorflow在windows的安装及TensorBoard中mnist样例

    前言:                                                                                                 ...

  7. AppCan移动应用开发平台新增9个超有用插件(内含演示样例代码)

    使用AppCan平台进行移动开发.你所须要具备的是Html5+CSS +JS前端语言基础.此外.Hybrid混合模式应用还需结合原生语言对功能模块进行封装,对于没有原生基础的开发人员,怎样实现App里 ...

  8. java 不可变对象 final Collections guava 简单样例

    本地环境 jdk1.8 连接 Google Guava官方教程(中文版) journaldev 说明 java的final关键字大家都了解,但是final修饰的如果是引用类型,那么不可修改的其实只是重 ...

  9. java 状态模式 解说演示样例代码

    package org.rui.pattern; import junit.framework.*; /** * 为了使同一个方法调用能够产生不同的行为,State 模式在代理(surrogate)的 ...

随机推荐

  1. PWA全称Progressive Web App,即渐进式WEB应用?

    一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能解决了哪些问题 ...

  2. @Controller 注解?

    该注解表明该类扮演控制器的角色,Spring 不需要你继承任何其他控制器基类或 引用 Servlet API.

  3. Mybatis 开发 dao 的方法

    1.分析SqlSession使用范围 1.1.SqlSessionFactoryBuilder 通过 SqlSessionFactoryBuilder 创建会话工厂 SqlSessionFactory ...

  4. springboot 指定启动环境

    java -jar dbmaster.jar --spring.profiles.active=test

  5. catkin编译系统

    引言 最近项目中遇到一个需求:将 C++ 程序 (不是 ROS node,只是普通的 C++ 程序)中的变量发布到 ROS topic 上,以便 ROS 中的其他 node 进行后续处理. 原 C++ ...

  6. 显示调用C++中构造函数和析构函数(有什么弊端)

    1.C++中, 构造函数和析构函数可以被显示调用. 显示调用默认构造函数的语法: a.A::A();(不能写成a.A();) , 显示调用非默认构造函数的语法: a.A::A(7);(不能写成a.A( ...

  7. 单总线协议DS1820

    一. DS18B20简介 DS18B20数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式.主要根据应用场合的不同而改变其外观.封装后的DS18B20可用于电缆 ...

  8. 【控制】模型预测控制 MPC 【合集】Model Predictive Control

    1.模型预测控制--运动学模型 2.模型预测控制--模型线性化 3.模型预测控制--模型离散化 4.模型预测控制--预测 5.模型预测控制--控制律优化二次型优化 6.模型预测控制--反馈控制 7.模 ...

  9. RESTful API/Web API

    Microsoft REST API Guidelines Are Not RESTful White House Web API Standards Microsoft REST API Guide ...

  10. 【小程序开发】文本text-overflow属性的使用

    text-overflow原本是CSS3的一个属性,在微信小程序中也支持. text-overflow文本溢出显示省略号~ 注:使用text-overflow时,需要设置固定的宽度才起作用,所以该元素 ...