分享几个写简洁java代码的小技巧

目录
  • 1.定义配置文件信息
  • 2.用@RequiredArgsConstructor代替@Autowired
  • 3.不要返回null
  • 4.ifelse
  • 5.减少controller业务代码
  • 6.将字符串数组转换成逗号分隔字符串
  • 总结

1. 定义配置文件信息

有时候我们为了统一管理会把一些变量放到 yml 配置文件中

例如

用 @ConfigurationProperties 代替 @Value

使用方法

定义对应字段的实体

@Data
// 指定前缀
@ConfigurationProperties(prefix = "developer")
@Component
public class DeveloperProperty {
    private String name;
    private String website;
    private String qq;
    private String phoneNumber;
}

使用时注入这个bean

@RestController
@RequiredArgsConstructor
public class PropertyController {

    final DeveloperProperty developerProperty;

    @GetMapping("/property")
    public Object index() {
       return developerProperty.getName();
    }
}

2. 用@RequiredArgsConstructor代替@Autowired

我们都知道注入一个 bean 有三种方式哦(set 注入, 构造器注入, 注解注入),Spring 推荐我们使用构造器的方式注入 Bean

我们来看看上段代码编译完之后的样子

RequiredArgsConstructor:lombok提供

3. 不要返回 null

反例

正例

别处调用方法时,避免不必要的空指针

optional 判空

//获取子目录列表
public List<CatalogueTreeNode> getChild(String pid) {
            if (V.isEmpty(pid)) {
            pid = BasicDic.TEMPORARY_DIRECTORY_ROOT;
        }
        CatalogueTreeNode node = treeNodeMap.get(pid);

        return Optional.ofNullable(node)
                .map(CatalogueTreeNode::getChild)
                .orElse(Collections.emptyList());
    }

4. if else

不要太多了if else if,可以试试策略模式代替

5. 减少controller业务代码

业务代码尽量放到service层进行处理,后期维护起来也好操作而且美观

反例

正例

6.将字符串数组转换成逗号分隔字符串

通常会这么写:

public static void main(String[] args) {
    String strs = "";
    String[] arr = new String[]{"aa", "cc", "bb"}; // 转换前的字符串数组
    StringBuilder sb = new StringBuilder();
    for (String ele : arr) {
      if (sb.length() > 0) {
        sb.append(",");
      }
      sb.append(ele);
    }
    strs = sb.toString(); // 转换后的逗号分隔字符串
    System.out.println(strs);
}

更简单的写法:

public static void main(String[] args) {
    String[] arr = new String[]{"aa", "cc", "bb"}; // 转换前的字符串数组
    String strs = String.join(",", arr); // 转换后的逗号分隔字符串
    System.out.println(strs);
}

总结

到此这篇关于写简洁java代码小技巧的文章就介绍到这了,更多相关写java代码的小技巧内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java程序员必须知道的4个书写代码技巧

    如果现在要求对你写的Java代码进行优化,那你会怎么做呢?作者在本文介绍了可以提高系统性能以及代码可读性的四种方法,如果你对此感兴趣,就让我们一起来看看吧. 我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都是可以满足目标的.然而,有的项目可能需要用到一些特别的技术,因此工程师们得深入研究,去寻找那些最简单但最有效的方法.在以前一篇文章中,我们讨论了必要时可以使用的四种特殊技术,这些特殊技术可以创建更好的Java软件:而本文我们将介绍一些有助于解决常

  • Java 中的5个代码性能提升技巧

    目录 1.预先分配 HashMap 的大小 2.优化 HashMap 的 key 3.不使用 Enum.values() 遍历 4.使用 Enum 代替 String 常量 5.使用高版本 JDK 前言: 提示:我们不应该为了优化而优化,这有时会增加代码的复杂度. 这篇文章中的代码都在以下环境中进行性能测试. JMH version: 1.33(Java 基准测试框架) VM version: JDK 17, OpenJDK 64-Bit Server VM, 17+35-2724 通过这篇文章

  • 通过Java代码技巧改善性能

    前言 程序的性能受到代码质量的直接影响.这次主要介绍一些代码编写的小技巧和惯例.虽然看起来有些是微不足道的编程技巧,却可能为系统性能带来成倍的提升,因此还是值得关注的. 慎用异常 在Java开发中,经常使用try-catch进行错误捕获,但是try-catch语句对系统性能而言是非常糟糕的.虽然一次try-catch中,无法察觉到她对性能带来的损失,但是一旦try-catch语句被应用于循环或是遍历体内,就会给系统性能带来极大的伤害. 以下是一段将try-catch应用于循环体内的示例代码: @

  • 分享几个写简洁java代码的小技巧

    目录 1.定义配置文件信息 2.用@RequiredArgsConstructor代替@Autowired 3.不要返回null 4.ifelse 5.减少controller业务代码 6.将字符串数组转换成逗号分隔字符串 总结 1. 定义配置文件信息 有时候我们为了统一管理会把一些变量放到 yml 配置文件中 例如 用 @ConfigurationProperties 代替 @Value 使用方法 定义对应字段的实体 @Data // 指定前缀 @ConfigurationProperties

  • 注释PHP和html混合代码的小技巧(分享)

    我们在写php的时候有时候会遇到想要注释一部分的代码,是由html和PHP混合组成的,这时候如果一行一行去分开注释有点麻烦.但是又不敢删掉,这时候我们可以充分利用if语句去进行注释的功能 <?php if (1==2):?> //代码片段 <?php endif;?> 以上就是小编为大家带来的注释PHP和html混合代码的小技巧(分享)全部内容了,希望大家多多支持我们~

  • 分享3个简单的Python代码高效运行技巧

    目录 1. 引言 2. 获取字典的值 3. 循环中使用enumerate 4. 使用f-strings来拼接和打印字符串 5. 总结 1. 引言 小伙伴们日常工作中都必不可少地使用Python实现一些简单的功能,但是不同的人所编写的代码执行效率往往是不同的.本文重点介绍大家经常遇到的场景下,三个有效的,方便理解的,执行高效的实用技巧. 闲话少说,我们直接开始吧!!! 2. 获取字典的值 不妨假设我们有以下字典: my_dict = {'first_name': 'Michaela',      

  • 编写简洁React组件的小技巧

    本文源于翻译文章 Simple tips for writing clean React components, 原文作者 Iskander Samatov 在这篇文章中,我们会回顾一些简单的技巧,它们将帮助我们编写更简洁的 React 组件,并且更好地扩展我们的项目. 避免使用扩展操作符传递 props 首先,让我们从一个应该避免的反模式开始.除非有明确的理由这样做,否则应该避免在组件树中使用扩展操作符传递props,比如:{ ...props }. 通过这种方式传递 props 确实可以更快

  • 分享Python中四个不常见的小技巧

    目录 1. 引言 2. 获取 n 个最大数字 3. 获取 n 个最小数字 4. 删除字符串的特定部分 5. 从列表中删除重复元素 6. 总结 1. 引言 在编程界,每个人都希望自己可以写出世界上最好的代码,其实最好的代码往往需要具备最好的代码质量.勤能补拙,善于总结往往可以快速提升大家的编程技巧. 本文重点对日常中不常使用的四个Python技巧进行简明阐述,希望可以提升大家编码时的工作效率. 闲话少说,我们直接开始吧! 2. 获取 n 个最大数字 我们知道,要获得列表中的最大数字,我们往往使用​

  • Python如何将图像音视频等资源文件隐藏在代码中(小技巧)

    下午有同学Python学习群里说,使用pyinstaller打包源码时,因为代码中使用了图像.音频.视频等资源文件,无法将程序打包成单一的可执行文件.有没有方法将这些资源文件按保存在代码中呢?我想了一下,应该是可以的.于是乎,花了一个小时,写出了下面的代码,算是抛砖引玉吧. 这段代码可以将二进制文件转存为python脚本文件,供其他脚本引用.代码最后附有使用的例子,演示用的图片可以随便照一张.除了转存二进制数据,还提供了两个方法: get_fp():返回二进制的IO对象(类文件对象) save(

  • 仿JQuery输写高效JSLite代码的一些技巧

    讨论jQuery和javascript性能的文章并不罕见.然而,我计划根据他人对jQuery总结的一些速度方面的技巧和一些建议,来教你提升你的JSLite和javascript代码.好的代码会带来速度的提升.快速渲染和响应意味着更好的用户体验. 首先,在脑子里牢牢记住JSLite就是javascript.这意味着我们应该采取相同的编码惯例,风格指南和最佳实践. 首先,如果你是一个javascript新手,没有用过jQuery我建议您阅读最好先阅读官方文档的语法介绍,这是一篇高质量的javascr

  • 分享15个大家都熟知的jquery小技巧

    帮助提高你jQuery应用的15个大家都熟知的jquery小技巧,分享给大家 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简单的手风琴 使两个DIV同等高度 在浏览器标签/新窗口打开外部链接 根据文本获取元素 可见变化的触发 Ajax调用错误处理 链式操作 1.回到顶部按钮 利用jQuery里的animate和scrollTop方法,你便不需要使用插件创建简单的滚动到顶部动画. //

  • Java SpringBoot开发小技巧详解

    目录 一.SpringBoot开发小技巧 1.1 Lombok 1.2 dev-tools 1.3 Spring Initializr 总结 一.SpringBoot开发小技巧 1.1 Lombok 作用:在程序编译的时候,自动帮我们生成setter和getter方法以及我们的toString方法和我们的全参和无参构造器等等. 那么,怎么用呢?很简单,用下边这四个注解就行了: 1.@Data:自动生成setter和getter方法. 2.@ToString:自动生成toString方法. 3.@

  • 网页代码常用小技巧总结第1/3页

    1.让浏览器窗口永远都不出现滚动条. <body style="overflow-x:hidden;overflow-y:hidden">或<body style="overflow:hidden"> 或<body scroll=no> 2,没有水平滚动条 <body style="overflow-x:hidden"> 3,没有垂直滚动条 <body style="overflow

随机推荐