netbeans代码提示_Java代码现代化的七个NetBeans提示

netbeans代码提示

在“ 七个不可或缺的NetBeans Java提示”一文中 ,我谈到了一般使用NetBeans提示的问题,然后重点介绍了七个提示。 接下来列出了该帖子中强调的七个提示:
  • 可疑方法调用
  • 使用==或!= AND字符串构造函数比较字符串
  • 构造函数中的可重写方法调用
  • .equals不兼容类型
  • ResultSet中的列索引不正确
  • 与instanceof不兼容
  • 生成.equals或.hashCode方法

在本文中,我着眼于一组不同的七个NetBeans提示,这些提示可能不像第一组那样“不可或缺”,但是我发现它们对于移动现有代码和我自己的用Java编写代码的心态非常有用。进入JDK 7时代。NetBeans6.9开始引入了许多新提示 ,我非常喜欢这些提示 ,以便逐步改进JDK 7的性能和安全性。

建议EnumMap和EnumSet

NetBeans 6.9在“性能”类别中引入的两个提示是“可被EnumMap替换的地图”(在NetBeans Java提示中描述为“可被EnumMap替换的地图的实例化”)和“设置可被EnumSet替换”。 (描述为“查找可以用EnumSet替换的Set的实例化”)。 关于使用EnumMap和EnumSet的优点,我之前已经发布过 ,因此在使用现有代码时,我发现它们是两个非常有用的提示。 尽管自J2SE 5以来Enum以及关联的EnumMap和EnumSet都已存在,但是可能存在一些未使用它们的代码库,因为代码较旧或开发人员在创建其地图或集合时没有想到它们。

下一系列快照以静态方式演示了这些提示如何识别EnumSet和EnumMap可能更有效的潜在情况。 第一张图片显示了使用EnumSet的提示示例。 第二到第四张图像演示了使用EnumMap的提示以及选择要应用EnumMap的操作以及该操作的结果。

JDK 7升级提示

NetBeans 7.x在提示的“ JDK 1.5及更高版本”类别中提供了一些与Java 7语法和语言支持有关的提示。 这些提示提供了更多有关NetBeans提示可以帮助将现有Java代码库引入到更新的和最新版本的JDK版本中的示例。 这里要注意的一件事是,与NetBeans项目关联的源版本为JDK 7(1.7)时,NetBeans仅会识别这些提示。

与JDK 7相关的两个NetBeans提示与捕获异常有关。 “使用多捕获来加入捕获部分”提示(“使用多捕获来加入捕获部分”)和“使用特定捕获”提示(“将捕获(可抛出)或捕获(异常)转换为多捕获以捕获由try主体抛出的异常”。 ”)是在NetBeans 7.0中引入的。

随后的三个屏幕快照显示了一个非常复杂的代码段,该段代码确实演示了“使用multicatch的加入捕获”提示。 这三个图像显示了提示的显示,选择应用提示以及应用提示的结果。

NetBeans中与JDK 7相关的另一个异常处理提示是“使用特定的捕获提示”。 捕获比Exception (或更普通的Throwable )更具体的异常的想法在JDK 7中并不陌生,但这是一个依赖于JDK 7的提示,因为它在执行JDK 7 multicatch时会放置多个特定的已检查异常 。转换。 实际上,如果只有一个已知的已检查异常比Exception或Throwable更具体,则提示不适用。 出于明显的原因(毕竟不检查!),不会考虑运行时异常( 未检查的异常 ),并且只有try子句中存在多个检查的异常才会导致此提示。

以下屏幕快照描述了所有这些。 第一个屏幕快照描述了出现的提示,因为try块中可能有两个已检查的异常。 第二张图片证明一个已检查的异常的存在不足以使提示出现(其中一个已被注释掉)。 第三幅图显示了再次适用的已检查异常以及如何选择要执行的操作。 第四幅图描述了接受提示的建议操作的结果:将常规Exception更改为具有可能遇到的两个特定已检查异常的多重捕获。

NetBeans 6.9引入了“尽可能使用字符串转换”。 提示(“标记可转换为切换字符串的ifs级联。”)。 这使开发人员可以更轻松地识别基于String的一系列条件,可以将其重构为使用JDK 7 对Strings的支持。 接下来的三个屏幕快照演示了此提示的提供,应用提示的能力以及提示的应用结果。

JDK 7引入了菱形语法,以更简洁地使用泛型。 NetBeans 7.1引入了提示“可以使用钻石”(被描述为“关于可以在JDK 7中使用钻石运算符代替显式类型参数的位置的警告”),以帮助迁移代码以使用这种更简洁的语法。 接下来的三个屏幕快照显示了提示的显示方式,单击提示可以执行的操作以及执行该操作的结果。

NetBeans 7.0引入的“转换为尝试资源”提示(“将最终转换为尝试转换为资源”)提示帮助开发人员确定使用新的尝试资源的便捷,安全方法的情况。被应用。

接下来的四个图像描述了NetBeans中“转换为尝试资源”提示的用法。 第一个屏幕快照显示,如果首先在有条件的非空状态下检查资源,则不会出现提示。 第二张图显示,删除资源上的条件会导致出现提示。 第三个屏幕快照显示了应用与提示关联的操作的提示,第四个图像显示了应用提示的结果。 这些快照中的示例改编自Java教程页面try-with-resources语句中提供的示例。 NetBeans将该教程中提供的try-finally(在这种情况下为catch)示例转换为实质上是同一教程中所示的try-with-resources示例。

升级到NetBeans 7.1,以获得最新和最佳的提示支持

我将NetBeans 7.1和NetBeans 7.1.1用于本文中显示的屏幕快照。 尽管我在这里没有介绍过,但是NetBeans 7.1的一个有趣的提示相关功能是创建自定义提示的功能 。

结论

这篇博客文章涵盖了七个NetBeans提示,这些提示可以帮助开发人员利用Java的新功能(特别是JDK 7)。 启用这些提示(包括将NetBeans项目与JDK 7关联),使开发人员可以快速识别可以在将编译器升级到JDK 7时进行现代化处理的旧代码段,还可以帮助开发人员学习使用这些新的构造和功能编写新代码。 。 这篇文章涵盖的提示是:

  • 地图可替换为EnumMap
  • 设置可替换为EnumSet
  • 使用多重捕捉加入捕捉部分
  • 使用特定的渔获
  • 尽可能使用切换字符串
  • 可以使用钻石
  • 转换为尝试资源

参考:来自JCG合作伙伴 Dustin Marx的七个NetBeans提示,可以使Java代码现代化 ,在Inspired by Actual Events博客上。


翻译自: https://www.javacodegeeks.com/2012/04/seven-netbeans-hints-for-modernizing.html

netbeans代码提示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最全SVN使用总结,建议先收藏后观看

最近在公司又开始玩SVN啦,这里给大家总结一下,基本上在公司不是用git就是用SVN进行代码管理,作为程序员,这些工具的使用还是需要熟悉了解一下的,本期孙叫兽给大家分享一下SVN相关的知识点,做到会用即可。不…

JS常用正则表达式

感谢水之原的整理,比较全得正则表达式 整数或者小数:^[0-9]\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~…

14万字面试题汇总整理,祝你顺利斩获大厂前端offer

导读:最近很多小伙伴私信我说,一般大厂的前端面试题都有哪些,应该如何准备,要不要刷题等等,这里孙叫兽简单给大家总结一下前端的高频面试题,如果对你有帮助,记得点赞评论收藏。现在很多大厂都比…

异步处理时的JPA

几年前,在Java世界中,几乎所有的“企业”类项目都需要JPA与数据库进行通信,这几乎是显而易见的。 JPA是Joel Spolsky描述的“ 泄漏抽象 ”的完美示例。 刚开始时很棒而又容易,但最后很难调整和限制。 对于许多参与数据访问层的后端…

又见链表 --- 另一种Creat方式与反转

链表 作为一种数据结构,链表以其方便的增删查改功能,实现了无数经典有用的程序。 在之前的帖子里,我构建链表的方式是建立一个不储存数据的head节点,然后通过一边输入数据一边建立结点的方式构建整个链表。 与之前不同的是&#x…

Hystrix简介–总结

这是其他两篇文章的后续文章– 动机 ,说明为什么在分布式系统中需要类似Hystrix的内容,以及Hystrix的基本介绍 。 这将是我的Hystrix旅程的总结,其中包含各种属性的详细信息,可以对这些属性进行调整以更改Hystrix的行为&#xff…

git常用命令有用

http://www.cnblogs.com/cspku/articles/Git_cmds.html转载于:https://www.cnblogs.com/yanjunhelloworld/p/5507706.html

现在抖音这么火,那么你知道如何用CSS实现抖音字体?

比如这种抖音字体是不是感觉很酷,它是如何实现的呢,下面孙叫兽就简单分享一下CSS的实现方法,记得点赞收藏。 老司机给大家的一些小建议,一定要敲代码敲代码敲代码(重要的事情说三遍),程序员是实战家,不是思想家和理论家,程序员都是工兵,这个排雷的经验很重要。 实现这…

史上最全关于苹果开发者账号及上架APPStore总结

很多人如果开发这种移动应用APP,上架到到APPStore难免会遇到一系列的问题,这里孙叫兽进行总结一下,如果本文对你有帮助,记得转发点赞收藏。 一: 开发者账号的介绍 1 个人开发者账号 申请费用: 99美元/年 介绍:一般由iOS开发者个人申请,上架开发者自己的APP作品到苹果商…

EK算法应用,构图(POJ1149)

题目链接:http://poj.org/problem?id1149 题意中有一点要注意,否则构图就会有问题,每个顾客走后,被打开过的那些猪圈中的猪都可以被任意的调换到其他开着的猪圈中。 这里的构图不是单一的相邻,以及容量了,…

平台代码检查工具:sonarLint+sonarqube安装教程

加强对代码质量的管控要求,不允许新增代码部分出现严重、重要、主要等sonar扫描问题。 大家按以下文档安装开发工具对应的代码检测插件,请大家务必重视、执行.这里只介绍前端开发VSCode,后端开发Eclipse,两种代表性的编译器安装sonarLintsonarqube方法,其…

jboss as安装配置_书评:JBoss AS 7:配置,部署和管理

jboss as安装配置我热切地接受Packt Publishing邀请复审JBoss AS 7:配置,部署和管理,因为自从我上次使用JBoss已有数年了,我很想了解有关JBoss AS 7的更多信息。 我已经写过关于《 JBoss AS 7配置,部署和管理》一书的第…

程序员通过CSDN如何获取收益

大家好,我是孙叫兽 ,本期内容给大家分享如何使用CSDN一边学习,一遍赚取收益,这样学习的时候也会产生动力. 废话不多说,直接看近7天收益. 博主如何赚取收益 对于博主这些创作者来说,收益主要有付费专栏,VIP文章收益,活动收益,红包收益,问答收益,打赏收益,付费资源收益,下载VIP分…

在Java8中包装设计模式

环绕模式未在GOF书中列出,但对于以下问题非常有用: 循环构造,例如执行while / while / for循环 秒表周围的一些代码。 用运行时异常包装检查的异常 初始化和清理,例如创建/销毁线程池或打开/关闭文件等 将上下文信息添加到线…

《Windows驱动开发技术详解》之编程加载NT式驱动

之前我们加载驱动都是利用INSTDRV这个应用,其原理是在注册表中写入相应的字段,这一节我们手动编写代码去加载驱动,其原理类似: 设备驱动程序的动态加载主要由服务控制管理程序(Service Control Manager,SCM&#xff09…

教你如何成为解决问题的高手

最近看到很多初级或者准备入坑的小伙伴在问答模块提问问题 ,有的在QQ群或者微信群提问题,这个是很多新手程序员都会经历的一个过程,这种事情很正常,主要是自己都不清楚问题是什么或者描述不清楚,别人如何帮你解答呢? 目录 1.澄清问题 2.关联经验 3.问题重现 4.寻找差异 5…

mongodb存储数据_在MongoDB中存储分层数据

mongodb存储数据继续使用MongoDB进行 NoSQL之旅,我想谈一谈一个经常出现的特定用例:存储分层文档关系。 MongoDB是很棒的文档数据存储,但是如果文档具有父子关系,该怎么办? 我们可以有效地存储和查询此类文档层次结构吗…

程序员如何快速成长为IT精英

很多程序员工作了很多年,仍然只学到了皮毛点的业务和技术,技术长时间没有提升,一直拖拖拉拉处于某个水平,没有接触到核心业务,也难于成为公司的中流砥柱和骨干。那么程序员该如何成长呢? 1.主动学习 时刻保持危机感,对知识保持好奇心,完善自己的职业规划和知识体系,掌…

hdu1521 指数型母函数

排列组合 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3438 Accepted Submission(s): 1439Problem Description有n种物品,并且知道每种物品的数量。要求从中选出m件物品的排列数。例如有两种物品…

【Java从入门到天黑|06】高质量男性SpringBoot入门及原理(基础总结版,强烈建议收藏)

目录 SpringBoot简介 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 helloWorld