Java8中String.join方法,让我们的代码更优美

Java8中String.join方法,让我们的代码更优美强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】距Java8(14年3月19日)发布马上就四年了;相信接触过java8的人,会对它的很多新的特性新的方法有感觉;自然我也不例外;今天就一起给大家分享一个java8中的方法。【善用新语法,让代码更优美】一、简洁:最近自己在做项目的时候学习到很多技巧…

大家好,又见面了,我是你们的朋友全栈君。

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

【前言】

       距Java8(14年3月19日)发布马上就四年了;相信接触过java8的人,会对它的很多新的特性新的方法有感觉;自然我也不例外;今天就一起给大家分享一个java8中的方法。

【善用新语法,让代码更优美】

       一、简洁:最近自己在做项目的时候学习到很多技巧,让自己的代码更加的简洁,优美;今天着重为大家介绍一下学到的其中一个小技巧—妙用String.join;

      二、场景,我们有一组图片需要上传到OSS并将这些图片在OSS上存储的URL以分号为分割存储到数据库一个字段中;比如上传三张图片的结果:  http://oss.com/1.jpg;http://oss.com/2.jpg;http://oss.com3.jpg

      三、下面是自己写之前合之后的代码,其中用到了(OSS上传方法,大家参考(OSS(一):OSS工具类));大家感受一下:

           1、没有用String.join代码:

 

    /**
     * 上传文件
     *
     * @param multipartFiles 待上传文件
     * @return 上传到OSS的地址
     * @throws BusinessException 异常
     */
    public String upload(List<MultipartFile> multipartFiles) throws BusinessException {
        String uploadResult = "";
        boolean flag = true;
        try {
            for (MultipartFile multipartFile : multipartFiles) {
                if (flag) {
                    uploadResult = OSSUtil.upload(multipartFile, OSSUtil.FileDirType.BUSINESS);
                } else {
                    uploadResult += ";" + OSSUtil.upload(multipartFile, OSSUtil.FileDirType.BUSINESS);
                }
                flag = false;
            }
        } catch (Exception e) {
            LoggerUtil.logService("call OSSUtil.upload; Exception:" + e.getMessage());
            throw new BusinessException(WrongMessageEnum.EXCEPTION_STORE);
        }
        return uploadResult;
    }

 

 

           2、用Sting.join后的代码

 

    /**
     * 上传文件
     *
     * @param multipartFiles 待上传文件
     * @return 上传到OSS的地址
     * @throws BusinessException 异常
     */
    public String upload(List<MultipartFile> multipartFiles) throws BusinessException {
        List<String> uploadList = new ArrayList<>();
        try {
            for (MultipartFile multipartFile : multipartFiles) {
                String url = OSSUtil.upload(multipartFile, OSSUtil.FileDirType.BUSINESS);
                uploadList.add(url);
            }
        } catch (Exception e) {
            LoggerUtil.logService("call OSSUtil.upload; Exception:" + e.getMessage());
            throw new BusinessException(WrongMessageEnum.EXCEPTION_STORE);
        }
        return String.join(";", uploadList);
    }

 

           3、以上两种写法的最终效果是一样的,大家应该get到其中的味道了吧!                

【总结】

       1、好的代码给人一种美感,好的代码让人看后直呼过瘾;如何写出一手好的代码那?三多是不二的法门(多看、多动手、多思考);             

       2、看待一个事物要从多个维度,比如:针对java8,有的项目在用有的则没有用;不能一味的说用了是好的不用是不好的;而是要站在不同的维度通过不同的视角去看待,比如有些老项目,换成java8后修改成本和风险都很大,比如有的项目需要在客户机器上运行,但是客户有部分的机器配置等条件只支持jdk6或更低版本的jdk等等;当然相信随着时代的发展,更好的技术会逐渐的普及,带给我们更好的生活;

       3、做一行,钻进去,爱上它,相信会体味到更多的乐趣,同时也会创造更多的价值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135558.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月4日 下午10:46
下一篇 2022年6月4日 下午10:46


相关推荐

  • mybatislogplugin激活码【中文破解版】

    (mybatislogplugin激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    41
  • Rewritecond介绍[通俗易懂]

    Rewritecond介绍[通俗易懂]RewriteCondSyntax:RewriteCondTestStringCondPattern[flags]  RewriteCond指令定义一条规则条件。在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,只有当自身的模板(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。  TestString是一个字符串,除了包含普通的

    2022年6月13日
    24
  • 联想笔记本键盘灯怎么开关在哪_联想笔记本怎么亮键盘灯

    联想笔记本键盘灯怎么开关在哪_联想笔记本怎么亮键盘灯现在,联想/华硕/惠普多款笔记本电脑都自带了键盘背光灯功能,这样用户在夜间或暗淡环境下作业就会更加方便!不过,很多朋友表示并不懂得如何开启键盘背光灯,该怎么办呢?接下来,小编就以windows10系统为例,给大家分享下开启/关闭键盘背光灯的操作方法。联想笔记本背光灯开启方法:1、方法通过“FN+空格”开启或关闭,支持此功能的机型,键盘上有相应标示,如图:华硕笔记本键盘背光灯开启/关闭方法:首先需要…

    2026年2月4日
    5
  • Nginx + Spring Boot 实现负载均衡

    本文来源:http://8rr.co/LSUH 前言 本篇文章主要介绍的是Nginx如何实现负载均衡。 负载均衡介绍 在介绍Nginx的负载均衡实现之前,先简单的说下负载均衡的分类…

    2021年6月22日
    101
  • 超详细Linux配置DHCP服务器

    超详细Linux配置DHCP服务器概述DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。工作原理1、客户端开机没有IP,局域网内需要发送一个广播形式的DISCOVER(局域网内不知道谁是DHCP服务器),只要能收…

    2022年5月29日
    42
  • 最新手机号段归属地数据库 高性能dat解析[通俗易懂]

    最新手机号段归属地数据库 高性能dat解析[通俗易懂]最新手机号段数据库2019-12-01441831条记录号码归属地数据库全面准确规范字段包括省份城市运营商邮编区号等信息,对于数据分析、号码归属地查询等非常有帮助名称:手机号码归属地查询dat高效率查询内存优化版压缩:原版txt为22M,生成这种dat结构为2.66M性能:每秒解析300万+号段或者号码,简洁高效环境:CPU…

    2022年7月22日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号