- 浏览: 3362918 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
更详细整理: http://blog.csdn.net/alecf/article/details/24775979
原文: http://my.oschina.net/shma1664/blog/596904
1、基本功能
1)字符串操作
2)对象封装:Objects
原文: http://my.oschina.net/shma1664/blog/596904
1、基本功能
1)字符串操作
package com.shma.guava.base; import java.util.Map; import org.junit.Test; import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.Maps; /** * 字符串处理 * @author admin * */ public class StringsTest { /** * 判断是否为空 */ @Test public void testIsNullOrEmpty() { String name = ""; System.out.println(Strings.isNullOrEmpty(name)); //true String name2 = null; System.out.println(Strings.isNullOrEmpty(name2)); //true String name3 = "shma"; System.out.println(Strings.isNullOrEmpty(name3)); //false } /** * 截取两个字符串的相同前缀 */ @Test public void testCommonPrefix() { // 两个字符串相同的前缀或者后缀 String aString = "hi,a.shma.hello"; String bString = "hi,b.jjq.hello"; System.out.println(Strings.commonPrefix(aString, bString)); //hi, } /** * 截取两个字符串的相同后缀 */ @Test public void testCommonSuffix() { // 两个字符串相同的前缀或者后缀 String aString = "hi,a.shma.hello"; String bString = "hi,b.jjq.hello"; System.out.println(Strings.commonSuffix(aString, bString)); //.hello } /** * 字符串补全 */ @Test public void testPad() { int minLength = 5; //末尾以0补全 String padEndResult = Strings.padEnd("123", minLength, '0'); System.out.println(padEndResult); //12300 //开始补全 String padStartResult = Strings.padStart("123", minLength, '0'); System.out.println(padStartResult); //00123 } /** * 拆分字符串 */ @Test public void testSplitter() { Iterable<String> iterable = Splitter.onPattern("[,,;]") .trimResults() .omitEmptyStrings() .split("马韶华,张琦,笑笑,,老李,类型 哈哈,非也; 宵夜 "); for(String item : iterable) { System.out.println(item); } //二次拆分 String toSplitString = "a=1; b=2, c=3"; Map<String, String> kvs = Splitter.onPattern("[;,]") .trimResults() .omitEmptyStrings() .withKeyValueSeparator("=") .split(toSplitString); System.out.println(kvs); //{a=1, b=2, c=3} } /** * 字符串合并 */ @Test public void testJoin() { String users = Joiner.on(",").join(new String[]{"张三", "李四", "王五"}); System.out.println(users); //张三,李四,王五 //将Map<String, String>合并 Map<String, String> dataMap = Maps.newHashMap(); dataMap.put("1001", "张三"); dataMap.put("1002", "李四"); dataMap.put("1003", "王五"); dataMap.put("1004", "马六"); String mapString = Joiner.on(",").withKeyValueSeparator("=").join(dataMap); System.out.println(mapString); // 1003=王五,1004=马六,1001=张三,1002=李四 } /** * 重复输出次数 */ @Test public void testRepeat() { System.out.println(Strings.repeat("1234", 2)); // 12341234 } }
2)对象封装:Objects
package com.shma.guava2.base; import org.junit.Test; import com.google.common.base.Objects; import com.google.common.collect.ComparisonChain; /** * 复写Object中的方法实现 * @author admin * */ public class ObjectsTest { /** * 比较大小 */ @Test public void compareTest() { Person person1 = new Person("jqq", 24); Person person2 = new Person("jqq", 28); Person person3 = new Person("shma", 24); Person person4 = new Person("shma", 21); Person person5 = new Person("shma", 21); System.out.println(person1.compareTo(person2)); System.out.println(person1.compareTo(person3)); System.out.println(person3.compareTo(person4)); System.out.println(person5.compareTo(person4)); } /** * 实现toString */ @Test public void toStringTest() { System.out.println(Objects.toStringHelper(this).add("name", "shma").toString()); System.out.println(Objects.toStringHelper(Person.class).add("name", "shma").add("age", 23).toString()); Person person1 = new Person("jqq", 24); Person person2 = new Person("jqq", 24); System.out.println(person1); System.out.println(person2); System.out.println(person1.hashCode()); System.out.println(person2.hashCode()); System.out.println(person1.equals(person2)); } /** * 判断equals */ @Test public void equalsTest() { System.out.println(Objects.equal(null, "a")); //false System.out.println(Objects.equal("a", "a")); //true System.out.println(Objects.equal("", "")); //true System.out.println(Objects.equal("a", "")); //false System.out.println(Objects.equal(null, null)); //true System.out.println(Objects.equal(new Person("shma", 23), new Person("shma", 23))); //false Person person = new Person("jqq", 24); System.out.println(Objects.equal(person, person)); //true } /** * 计算hashcode * */ @Test public void hashCodeTest() { System.out.println(Objects.hashCode("a")); //128 System.out.println(Objects.hashCode("a")); //128 System.out.println(Objects.hashCode("a", "b")); //4066 System.out.println(Objects.hashCode("b", "a")); //4096 System.out.println(Objects.hashCode("b", "a", "c")); //127075 System.out.println(Objects.hashCode("a", "c", "b")); //126175 System.out.println(Objects.hashCode(new Person("shma", 23))); //21648900 System.out.println(Objects.hashCode(new Person("shma", 23))); //21846074 Person person = new Person("jqq", 24); System.out.println(Objects.hashCode(person)); //13856786 System.out.println(Objects.hashCode(person)); //13856786 } class Person implements Comparable<Person> { public String name; public int age; Person(String name, int age) { this.name = name; this.age = age; } @Override public String toString() { return Objects.toStringHelper(Person.class) .add("name", this.name) .add("age", this.age) .toString(); } @Override public int hashCode() { return Objects.hashCode(name, age); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if(this.name == other.name && this.age == other.age) return true; return false; } @Override public int compareTo(Person perosn) { return ComparisonChain.start() .compare(this.name, perosn.name) .compare(this.age, perosn.age) .result(); } } class Student implements Comparable<Student> { private String name; private int age; private int score; public Student() { super(); } public Student(String name, int age, int score) { super(); this.name = name; this.age = age; this.score = score; } @Override public String toString() { return Objects.toStringHelper(this) .add("name", name) .add("age", age) .add("score", score) .toString(); } @Override public int hashCode() { return Objects.hashCode(name, age); } @Override public boolean equals(Object obj) { if (obj instanceof Student) { Student that = (Student) obj; return Objects.equal(name, that.name) && Objects.equal(age, that.age) && Objects.equal(score, that.score); } return false; } @Override public int compareTo(Student student) { return ComparisonChain.start() .compare(this.name, student.name) .compare(this.age, student.age) .compare(this.score, student.score) .result(); } } }
发表评论
-
Java Comparable和Comparator
2016-06-26 08:52 655http://my.oschina.net/android52 ... -
Java集合框架之fastutil & koloboke
2016-06-23 14:04 2409Java集合框架之fastutil http://rensan ... -
ehcache 分布式支持
2016-06-05 22:26 1057原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2840原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1495http://my.oschina.net/wjme/blog ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3389http://www.guokr.com/blog/47576 ... -
Java集合: Queue和Deque
2016-05-09 09:49 1826Queue http://my.oschina.net/kev ... -
使用gzip优化web应用(filter实现)
2016-05-07 01:45 999使用gzip优化web应用(filter实现) http:// ... -
Byteman 3.0.5 发布,Java 字节码注入工具
2016-04-23 10:29 1726Byteman 3.0.5 发布,Java 字 ... -
RandomStringUtils的说明和生成随机汉字
2016-04-20 15:21 1316更多参考: http://my.oschina.net/wil ... -
通过IP地址获取地理位置
2016-04-20 15:19 855http://my.oschina.net/githubhty ... -
Java编程中使用正则表达式过滤非数字字符串
2016-04-14 13:51 1674/** * * @param str ... -
非对称加密DH算法,DH代码实现
2016-04-13 11:33 1316RSA算法原理(一)http:// ... -
企业支付宝账号开发接口教程
2016-03-31 14:52 1193企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作- ... -
java double类型数据操作工具类
2016-03-28 17:36 1177http://my.oschina.net/yxwblog/b ... -
double转换到BigDecimal
2016-03-28 17:11 1503BigDecimal b = new BigDecimal(d ... -
Java 生成好看的验证码
2016-03-23 10:52 3304http://www.oschina.net/code/sni ... -
Linux环境安装配置Swftools
2016-03-22 21:01 1052http://tetop.blog.51cto.com/188 ... -
java压缩与解压缩文件
2016-03-20 22:03 1429http://www.oschina.net/code/sni ... -
java图像压缩
2016-03-19 23:20 918http://my.oschina.net/686991/bl ...
相关推荐
java运行依赖jar包
google guava jar and sources.
google guava 18.0 里面有jar 及源码还有文档
java运行依赖jar包
google-guava所需依赖包,listenablefuture-9999.0-empty-to-avoid-conflic
├─Google Guava 第01讲-Joiner详细介绍以及和Java8Collector对比.wmv ├─Google Guava 第02讲-Guava Splitter详细讲解以及实战练习.wmv ├─Google Guava 第03讲-Preconditions&Objects;&assert;讲解.wmv ├─...
Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,包括 collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, 等等. 这些高质量的 API 可以使你...
jackson-datatypes-collections.zip,jackson的附加数据类型支持模块(https://github.com/fasterxml/jackson),用于处理
Google的guava包 里面包含了guava的你需要的jar包,需要的可以自取!
java运行依赖jar包
assertj-guava-1.0.0-sources.jar
assertj-guava-1.0.0.jar
guava-18.0包含: 1.guava-18.0.jar 2.guava-18.0-sources.jar
Local caching - Guava Cache在Go中的部分的实现
标签:google、guava、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
标签:google、guava、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
hive-exec-3.1.2 排除guava