以前只是听过这个工具包,但是真正用的话还是在D75需求中。我要实现把前台传入的list集合用分号分割拼接一个字符串存入数据库,

开始的时候我用代码逻辑如下:StringBuffer interfaceList=new StringBuffer();

//判断前台绑定中的集合是否为空

if(interfaces!=null)

{

for(String str:interfaces){

interfaceList.append(str).append(";");

}

//去掉最后一个分号

tpc.setInterfaces(interfacesStr.subStrting(0,interfaceList.length()-1);

}

感觉这里使用了stringbuffer就没问题了吧,然后hery对我说代码还可以压缩,我就看了下apache的StringUtils这个类和google的guava包下

的Joiner这个类。我才发现这样的工具包真的好强大,封装了好多功能,学习是永无止境的。上面的代码只需要写一句就替代了:String interfacesStr=StringUtils.join(interfaces.iterator(), ';');或者String interfacesStr= Joiner.on(";").join(interfaces.iterator());

有时候我们这样写:Person person1=new Person("jack",20);

Person person2=new Person("jack",20);

Person person2=new Person("jack",20);

//会去这样存入list集合:

List personList=new ArrayList();

personList.add(person1);

personList.add(person2);

personList.add(person3);

在guava中可以这样:List list = Lists.newArrayList(person1, person2, person3);当然也可以这样Arrays.asList(person1, person2, person3);

在比较对象大小的时候都知道有两种方式:

1.实体类实现Conparable接口;2.在Collections.sort()实现Comparator接口

在guava中的对象比较,实现的Comparator可以这样写:new Comparator() {

@Override

public int compare(Person o1, Person o2) {

return ComparisonChain.start().compare(o1.getName(), o2.getName()).compare(o1.getAge(), o2.getAge())

.result();

}

}

还有很多功能还要自己去摸索学习,此处省略.............

java guava_java项目中使用guava的工具包的心得相关推荐

  1. JAVA Web项目中所出现错误及解决方式合集(不断更新中)

    JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...

  2. 在java web项目中编写自己的代码生成器

    在java web项目中编写自己的代码生成器 转载于:https://www.cnblogs.com/punisher/p/5909943.html

  3. Java / Web项目中的NPM模块Browser-Sync

    Browser-Sync是一个方便的基于Node.js的NPM模块,可用于更快的Web开发. 浏览器同步可在许多设备之间同步文件更改和交互. 最重要的功能是实时重新加载. 我们也可以在Java / W ...

  4. java web项目中的根路径踩坑

    以下总结来自于颜群老师课堂笔记. java web项目中的"/"怎样区分? 项目根目录: WebContent \ src(所有的构建目录) 如果WebContent中有一个文件i ...

  5. js ajax 访问java函数,将url分配给Java EE项目中的ajax(js)函数

    我正在Ajax中尝试使用我的第一个项目,并且在分配指向要从服务器中获取的文件的绝对URL时遇到问题.将url分配给Java EE项目中的ajax(js)函数 这是我的函数: function fetc ...

  6. Java Web项目中缺少Java EE 6 Libraries怎么添加

    Java Web项目中缺少Java EE 6 Libraries怎么添加 具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build P ...

  7. 实战:在Java Web项目中使用HBase

    在此之前我们使用MySQL作为数据源,但发现这数据增长速度太快,并且由于种种原因,因此必须使用HBase,所以我们要把Mysql表里面的数据迁移到HBase中,在这里我就不讲解.不争论为什么要使用HB ...

  8. Java小项目中WEB-INF下jsp页面如何访问?

    Java小项目中WEB-INF下jsp页面如何访问? - 今天又是充满希望的一天 - CSDN博客 关闭 今天又是充满希望的一天 目录视图 摘要视图 订阅 var username = "H ...

  9. 在 Java Web 项目中,Service 层和 Dao 层真的有必要每个类都加上接口吗

    作者 l 会点代码的大叔(CodeDaShu) 很多程序员在刚开始工作的时候,接触到的项目都是这样做的:项目的代码被分成 Controller.Service.Dao 层,一个接口对应一个实现类,然后 ...

最新文章

  1. [数据库事务与锁]详解一: 彻底理解数据库事务
  2. php数组的值传递给另一个数组,如何把一个固定数组的值传递给另外一个数组
  3. [慢查优化]联表查询注意谁是驱动表 你搞不清楚谁join谁更好时请放手让mysql自行判定...
  4. python中的tkinter模块
  5. 西安后宰门小学_重磅!西安市教育局召开发布会,将有大动作!
  6. java中选择结构有哪些_Java中的选择结构
  7. [转载] Python全栈(1)—— Python如何快速下载库与jupyter notebook 的基本使用
  8. 同样是OpenJDK8,有的平台需要libpng12,有的不需要
  9. java session 使用_浅谈Session的使用(原创)
  10. Maven基础篇之Maven的实战入门
  11. iphone一键转移_换iPhone数据转移太麻烦?用腾讯电脑管家iPhone助手一键搞定
  12. Arduino基础学习-SG90舵机的使用
  13. 天正安装autocad启动失败_安装天正后cad无法启动 - 卡饭网
  14. RESTfull API简单项目的快速搭建
  15. 【重拾FPGA】读锆石科技硬件语法篇有感
  16. 学校的友宝自动售货机出故障 不知什么系统呵
  17. 华为Mate S发布:余承东说要在圣诞季和三星、苹果正面开战---ESM
  18. wIN 7 一键清理垃圾
  19. MySQL 进阶 触发器 -- 触发器介绍、触发器语法、触发器案例
  20. 【HTTP】请求方法

热门文章

  1. vue 保存时清空iuput_Vue 一键清空表单的实现方法
  2. 使用gRPC的.NET Core 3.0双向消息流
  3. 在存储过程中构建动态SQL
  4. tensorrt安装_[深度学习] TensorRT安装
  5. ios 设备获取idfa_iOS获取设备ID总结
  6. 对于springmvc的入门学习 2021-04-19
  7. 金蝶kiss对计算机软件的要求,金蝶软件的产品适用范围分析
  8. base64编码 springboot_解决idea中Springboot找不到BASE64Encoder或Decoder的jar包
  9. python local global_Python 关键字global全局变量详解
  10. nsga2代码解读python_python自动化办公系列 | python操作pdf—— PyPDF2 和 pdfplumber模块(1)...