- 浏览: 7873449 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
guava库中,包含了很好的join和split的功能,例子如下:
1) 将LIST转换为使用字符串连接的字符串
2)使用joiner把MAP转成STRING
3 将嵌套的collection join起来
4 当使用joiner时候处理null值
有几个对付NULL值的方法,第一个是skipNulls().
或者干脆将null值换掉,就是:
5 使用splitter方法把string转换为list
6 使用splitter将string转为map
7 guava还支持使用多个分隔符来分割字符,比如
8 每隔多少个字符进行分隔
9 还可以让splitter在分割多少个字符后停止分隔,比如
1) 将LIST转换为使用字符串连接的字符串
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom"); String result = Joiner.on(",").join(names); assertEquals(result, "John,Jane,Adam,Tom"); }
2)使用joiner把MAP转成STRING
@Test public void whenConvertMapToString_thenConverted() { Map<String, Integer> salary = Maps.newHashMap(); salary.put("John", 1000); salary.put("Jane", 1500); String result = Joiner.on(" , ").withKeyValueSeparator(" = ") .join(salary); assertThat(result, containsString("John = 1000")); assertThat(result, containsString("Jane = 1500")); }
3 将嵌套的collection join起来
@Test public void whenJoinNestedCollections_thenJoined() { List<ArrayList<String>> nested = Lists.newArrayList( Lists.newArrayList("apple", "banana", "orange"), Lists.newArrayList("cat", "dog", "bird"), Lists.newArrayList("John", "Jane", "Adam")); String result = Joiner.on(";").join(Iterables.transform(nested, new Function<List<String>, String>() { @Override public String apply(List<String> input) { return Joiner.on("-").join(input); } })); assertThat(result, containsString("apple-banana-orange")); assertThat(result, containsString("cat-dog-bird")); assertThat(result, containsString("apple-banana-orange")); }
4 当使用joiner时候处理null值
有几个对付NULL值的方法,第一个是skipNulls().
@Test public void whenConvertListToStringAndSkipNull_thenConverted() { List<String> names = Lists.newArrayList("John", null, "Jane", "Adam", "Tom"); String result = Joiner.on(",").skipNulls().join(names); assertEquals(result, "John,Jane,Adam,Tom"); }
或者干脆将null值换掉,就是:
@Test public void whenUseForNull_thenUsed() { List<String> names = Lists.newArrayList("John", null, "Jane", "Adam", "Tom"); String result = Joiner.on(",").useForNull("nameless").join(names); assertEquals(result, "John,nameless,Jane,Adam,Tom"); }
5 使用splitter方法把string转换为list
@Test public void whenCreateListFromString_thenCreated() { String input = "apple - banana - orange"; List<String> result = Splitter.on("-").trimResults() .splitToList(input); assertThat(result, contains("apple", "banana", "orange")); }
6 使用splitter将string转为map
@Test public void whenCreateMapFromString_thenCreated() { String input = "John=first,Adam=second"; Map<String, String> result = Splitter.on(",") .withKeyValueSeparator("=") .split(input); assertEquals("first", result.get("John")); assertEquals("second", result.get("Adam")); }
7 guava还支持使用多个分隔符来分割字符,比如
@Test public void whenSplitStringOnMultipleSeparator_thenSplit() { String input = "apple.banana,,orange,,."; List<String> result = Splitter.onPattern("[.|,]") .omitEmptyStrings() .splitToList(input); assertThat(result, contains("apple", "banana", "orange")); }
8 每隔多少个字符进行分隔
@Test public void whenSplitStringOnSpecificLength_thenSplit() { String input = "Hello world"; List<String> result = Splitter.fixedLength(3).splitToList(input); assertThat(result, contains("Hel", "lo ", "wor", "ld")); }
9 还可以让splitter在分割多少个字符后停止分隔,比如
@Test public void whenLimitSplitting_thenLimited() { String input = "a,b,c,d,e"; List<String> result = Splitter.on(",") .limit(4) .splitToList(input); assertEquals(4, result.size()); assertThat(result, contains("a", "b", "c", "d,e")); }
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1504方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 1981前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3426info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2198import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 459https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 644public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 567https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 633https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 409https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 4721 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3054微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 573https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1794什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 926本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1287原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 821public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 633在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 895-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 724一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1867介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
使用google guava 实现定时缓存功能
Google Guava是一个比较有趣的框架,它提供了很多有趣的的功能, google Guava 给开发者提供了如下常用功能: 集合(collections) 缓存(caching) 原生的类型支持(primitives support) 并发类库(concurrency ...
此文档为Guava中最流行和最强大的功能,提供更具可读性和解释性的说明
赠送jar包:guava-23.0.jar; 赠送原API文档:guava-23.0-javadoc.jar; 赠送源代码:guava-23.0-sources.jar; 赠送Maven依赖信息文件:...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-17.0.jar; 赠送原API文档:guava-17.0-javadoc.jar; 赠送源代码:guava-17.0-sources.jar; 赠送Maven依赖信息文件:...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-20.0.jar; 赠送原API文档:guava-20.0-javadoc.jar; 赠送源代码:guava-20.0-sources.jar; 赠送Maven依赖信息文件:...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-28.0-android.jar; 赠送原API文档:guava-28.0-android-javadoc.jar; 赠送源代码:guava-28.0-android-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-28.2-jre.jar; 赠送原API文档:guava-28.2-jre-javadoc.jar; 赠送源代码:guava-28.2-jre-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-18.0.jar; 赠送原API文档:guava-18.0-javadoc.jar; 赠送源代码:guava-18.0-sources.jar; ...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-27.0.1-jre.jar; 赠送原API文档:guava-27.0.1-jre-javadoc.jar; 赠送源代码:guava-27.0.1-jre-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档guava源文档...
├─Google Guava 第25讲-Guava之RateLimiter在漏桶限流算法中的使用.wmv ├─Google Guava 第26讲-Guava之RateLimiter令牌桶算法的使用.wmv ├─Google Guava 第27讲-ListenableFuture,FutureCallBack讲解.wmv ...
赠送jar包:guava-11.0.2.jar; 赠送原API文档:guava-11.0.2-javadoc.jar; 赠送源代码:guava-11.0.2-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-30.0-jre.jar; 赠送原API文档:guava-30.0-jre-javadoc.jar; 赠送源代码:guava-30.0-jre-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Guava is a set of core Java libraries from Google that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, ...
guava
赠送jar包:guava-16.0.1.jar; 赠送原API文档:guava-16.0.1-javadoc.jar; 赠送源代码:guava-16.0.1-sources.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
赠送jar包:guava-30.1.1-jre.jar; 赠送原API文档:guava-30.1.1-jre-javadoc.jar;...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。 双语对照,边学技术、边学英语。
guava-23.0.zip guava.jar guava
赠送jar包:guava-22.0.jar; 赠送原API文档:guava-22.0-javadoc.jar; 赠送源代码:guava-22.0-sources.jar; 赠送Maven依赖信息文件:...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。