在“ 七个不可或缺的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中引入的。

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

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 Statement中提供的示例。 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在Inspired by Actual Events博客上的七个Java现代化NetBeans提示 。

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

现代化Java代码的七个NetBeans提示相关推荐

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

    netbeans代码提示 在" 七个不可或缺的NetBeans Java提示"一文中 ,我谈到了一般使用NetBeans提示的问题,然后重点介绍了七个提示. 接下来列出了该帖子中强 ...

  2. 吃货联盟订餐系统Java代码

    吃货联盟java代码 思路 七步骤 第一步:数据初始化 第二步:实现菜单显示与切换 第三步:实现订餐功能 第四步:实现查看餐袋功能 第五步:实现订餐签收功能 第六步:实现删除订餐功能 第七步:实现点赞 ...

  3. Eclipse 答疑:Eclipse 如何设置 Java 代码自动提示和自动补全?

    文章目录 前言 一.打开 Eclipse 进入配置页面 二.进入 Java 的设置 三.输入补全信息 四.应用检查 总结 前言 在课堂上或者是开发大佬面前,你也许总是能够看到大佬们只要在敲代码时啪啪啪 ...

  4. 分享非常有用的Java程序(关键代码)(七)---抓屏程序

    原文:分享非常有用的Java程序(关键代码)(七)---抓屏程序 import java.awt.Dimension; import java.awt.Rectangle; import java.a ...

  5. java 代码智能提示,如何在Eclipse中设置Java、JavaScript、HTML智能代码提示

    使用eclipse自带的插件,无需另外安装插件,具体步骤如下 1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Act ...

  6. 运行java提示找不到符号_运行java代码时出现找不到符号错误怎么解决

    运行java代码时出现找不到符号错误怎么解决 发布时间:2020-06-23 11:37:00 来源:亿速云 阅读:113 作者:Leah 运行java代码时出现找不到符号错误怎么解决?针对这个问题, ...

  7. Eclips写Java代码和CSS、Javascript、Html代码设置代码自动提示功能

    按照我的方法设置后用Eclipse编写Java代码和前端代码(Html.CSS.JS)都可以自动提示代码.赶紧去试试吧. 1.打开Eclipse软件,点击Windows→Preferences→Jav ...

  8. Eclipse Android项目 为控件添加了Id,但是在Java代码中提示xxx cannot be resolved or is not a field

    在Android开发过程中,常需要在布局文件中为控件添加Id,以便在Java代码中找到这个控件. 但在使用Eclipse进行开发的过程中,常会出现明明已经在Layout XML文件中为组件添加了Id, ...

  9. Idea 封装Java代码片段 快速提示

    title 一,将代码片段抽取为方法 二,将代码封装成模板 快速提示 一,将代码片段抽取为方法 快速生成方法快捷键 . ctrl + alt + m 二,将代码封装成模板 快速提示 步骤都在下面. 博 ...

最新文章

  1. MVC+Ninject+三层架构+代码生成 -- 总结(四、數據層)
  2. 华为云客户端_华为云新一代S6云服务器缘何深受中小企业青睐?
  3. 森斯伯里管理奖学金 皇家工程学院
  4. k8s部署postgresql(含postgis插件)
  5. 28Python正则表达式、正则表达式对象、正则表达式修饰符、表达式模板、表达式实例、match函数、search方法、检索和替换、repl、compile、findall等
  6. vbmsgbox引用变量_vba中MsgBox的参数及用法
  7. java反射的field.get(null)
  8. 初等数论及其应用——中国剩余定理
  9. Tautology(poj3295)(DFS)
  10. jar包在windows后台运行,通过.bat文件
  11. 轻松理解Spring框架的基本思想
  12. Geth搭建以太坊主网公有节点笔记
  13. 7340怎么更换墨盒_打印显示墨盒托架被卡住怎么办?请按下边步骤正确解决
  14. 微信小程序云开发教程-微信小程序的JS高级-页面间数据传递
  15. php v9视频教程,PHPCMS V9二次开发视频教程全集
  16. 解决requests.text乱码问题content.decode()
  17. java+围棋+棋谱回放_聂卫平对战围棋高手Master完整比赛视频回放 全局棋谱复盘...
  18. 强大的头像制作神器微信小程序源码/支持外卖CPS等优惠劵小程序源码
  19. c语言 申请变量函数,C语言中变量和函数
  20. python制作相册

热门文章

  1. XML——XML Schema
  2. 省编码市编码区县编码_无浪费编码
  3. 通过OAuth 2.0和Okta使用安全的服务器到服务器通信构建Spring Boot应用
  4. smpp客户端_SMPP Java示例(客户端)
  5. java替换数组中的元素_如何使用Java 8流快速替换列表中的元素
  6. 装饰器模式java_Java 8的装饰器模式
  7. java 排序性能_Java8排序–性能陷阱
  8. hazelcast入门教程_Hazelcast入门指南第3部分
  9. lambda 函数式编程_Java 8 Lambda表达式的函数式编程– Monads
  10. Selenium WebDriver的TestNG注释完整指南