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

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

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

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

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

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

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

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

EK算法应用,构图(POJ1149)

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

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

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

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

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

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

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

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

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

JavaFX实际应用程序:AISO HRC-Matic

“ Real-World JavaFX Apps”系列中的第三个应用程序是一种重型数据输入应用程序,由称为HRC-Matic的关系数据库支持。 它是由AISO在日内瓦开发的。 AISO是一家专门开发基于JavaFX的业务应用程序的公司。 他们还在研究我在本系列的第一个博客( 欧洲广播联…

Feather包实现数据框快速读写,你值得拥有

什么是Feather? Feature是一种文件格式,支持R语言和Python的交互式存储,速度更快。目前支持R语言的data.frame和Python pandas 的DataFrame。 Feather收到了Apache arrow 项目的支持,Apache Arrow是Apache基金会下一个全新的开源项…

一文教你学会需求分析与管理

大家好,我是孙叫兽,本期给大家分享需求分析与管理,在项目开始或者需求整理时,这方面的知识显得尤为重要,常言道:良好的开始是成功的一半! 1.需求的定义 产品需求是在一定的时期,一定的场景中,无论是心理上还是生理上的,用户有着某种“需要”,这种“需要”用户自己不…

java 编写代码_Java 7:如何编写非常快速的Java代码

java 编写代码当我第一次写此博客时,我的目的是向您介绍ThreadLocalRandom类,它是Java 7中新增的用于生成随机数的类。 我在一系列微基准测试中分析了ThreadLocalRandom的性能,以了解其在单线程环境中的性能。 结果相对令人惊讶:尽…

POJ 1172 DFS

&#xff08;感谢wzc学长的幻灯片&#xff09; 单组数据 注意从必经点能到标记过的点则此点不是分裂点。 //By: Sirius_Ren #include <cstdio> #include <queue> #include <cstring> using namespace std; int tot1,first[51],cnt,v[101],nxt[101],n,vis[51…

远程桌面在自己电脑显示很小的解决办法

背景:最近在某银行办公,使用的是云桌面,疫情期间有一周是在加班办公,使用自己的电脑登录云桌面,然后电脑屏幕显示云桌面很小,看文档及代码十分难受。问问同事,这个问题终于得到了解决。 显示如下: 这个云桌面在我电脑就显示2/3宽度的大小,看代码太难受了,排除右上角向…

《JavaScript100例|01》之javaScript实现俄罗斯方块,唤起了女朋友儿时的回忆!

导读&#xff1a;小时候我们经常打游戏玩俄罗斯方块&#xff0c;用的是游戏机。 现在我们学会了敲代码&#xff0c;简单用JS实现一下这个游戏把。 目录 先看效果 操作说明 代码实现 完整代码 先看效果 操作说明 打开编译器&#xff0c;讲代码复制进去&#xff0c;在浏览…

adf4351使用_ADF:将UI类别与动态表单一起使用

adf4351使用JDev 11g R2具有有趣的新功能“ UI类别”。 它使我们可以在视图对象定义级别上以声明方式对VO的属性进行分组。 例如&#xff0c;我的VEmployees视图对象的“ UI Categories”选项卡如下所示&#xff1a; 默认情况下&#xff0c;每个视图对象都有一个预定义的类别“…

使用JavaScript将小写金额转化为大写金额的两种常见方法

导读:在一些支付或者银行确认信息中经常需要将小写金额转换为大写金额,这里做一下归纳, 目录 效果图: 方法一:使用正则表达式 方法二:常规JavaScript实现 效果图: 前面小写,后面大写,这里使用vue测试,其它框架同理.小写是传值的字段money,大写直接调用函数dealBigMoney(money…