摘要:
相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知 道,Map中存储的Key是唯一的。什么意思呢?就是假如我们有两个key相同,但value不同的元素需要插入到map中去,那么先前的key对应的 value将会被后来的值替换掉。如果我们需要用Map来把相同key的值存在一起,代码看起来像下面一样: @Test public void test1(){ List personList = new ArrayList(); Person pers... 阅读全文
摘要:
在日常开发中,我们经常会对方法的输入参数做一些数据格式上的验证,以便保证方法能够按照正常流程执行下去。对于可预知的一些数据上的错误,我们一定要做 事前检测和判断,来避免程序流程出错,而不是完全通过错误处理来保证流程正确执行,毕竟错误处理是比较消耗资源的方式。在平常情况下我们对参数的判断都需 要自己来逐个写方法判断,代码量不少并且复用性不高,如下所示: public static void main(String[] args) { getPerson(8,"peida"); getPerson(-9,"pe... 阅读全文
摘要:
Ordering是Guava类库提供的一个犀利强大的比较器工具,Guava的Ordering和JDK Comparator相比功能更强。它非常容易扩展,可以轻松构造复杂的comparator,然后用在容器的比较、排序等操作中。 本质上来说,Ordering 实例无非就是一个特殊的Comparator 实例。Ordering只是需要依赖于一个比较器(例如,Collections.max)的方法,并使其可作为实例方法。另外,Ordering提供了链式方法调用和加强现有的比较器。 下面我们看看Ordering中的一些具体方法和简单的使用实例。常见的静态方法:natural():使用Compara.. 阅读全文
摘要:
java.lang.NullPointerException,只要敢自称Java程序员,那对这个异常就再熟悉不过了。为了防止抛出这个异常,我们经常会写出这样的代码: Person person = people.find("John Smith"); if (person != null) { person.doSomething(); } 在Java世界里,解决空引用问题常见的一种办法是,使用Null Object模式。这样的话,在“没有什么”的情况下,就返回Null Object,客户端代码就不用判断是否为空了。但是,这种做法也有一些问题。首先,我们... 阅读全文
摘要:
google的guava库是个很不错的工具库,这次来学习其spliiter的用法,它是一个专门用来 分隔字符串的工具类,其中有四种用法,分别来小结1 基本用法: String str = "a,,b, c,,,d"; Iterable iterable = Splitter.on(',').split(str); System.out.println("--start--"); for (String result : iterable) { System.out.println(result); } Sys... 阅读全文
摘要:
一直用的是apache的stringutil工具类,其实google的工具类项目 guava中居然也有字符串的分隔类splitter的,在 http://code.google.com/p/guava-libraries/中可以下载,其中在老外的 http://www.javacodegeeks.com/2012/12/guava-splitter-vs-stringutils.html 这篇文章中进行了stringutil的对比:首先看两者的用法: // Apache StringUtils... String[] tokens1 = StringUtils.split(... 阅读全文
摘要:
原文:http://www.javacodegeeks.com/2013/10/guava-15-new-features.html Guava 是众所周知的google出品的开源工具包,十分好用,本月退出了version 15的版本,其中主要的几个新特性有1 Escapers字符转义器:HtmlEscapers XmlEscapers UrlEscapers 还可以自定义escaper,比如 // escaping HTML HtmlEscapers.htmlEscaper().escape("echo foo > file &"); // ... 阅读全文
摘要:
jQuery.param( obj ); 返回一个String描述: 创建一个数组或对象序列化的的字符串,适用于一个URL 地址查询字符串或Ajax请求。jQuery.param( obj );obj类型: Array, Object用于数组或序列化的对象。jQuery.param( obj, traditional );obj类型: Array, Object用于数组或序列化的对象。traditional类型: Boolean一个布尔值,指示是否执行了传统的“shallow”的序列化。这个函数 可以将表单元素的值 转换为 序列化字符串 (更多细节查阅 .serialize() )。在 jQu 阅读全文
摘要:
$("form").serialize(); 返回一个String描述: 将用作提交的表单元素的值编译成字符串,这个方法不接受任何参数。.serialize();方法使用标准的 URL-encoded 符号上建立一个文本字符串. 它可以对一个代表一组表单元素的 jQuery 对象进行操作,比如, , 和 check1 check2 radio1 ra... 阅读全文
摘要:
.serializeArray();返回一个Array描述: 将用作提交的表单元素的值编译成拥有name和value对象组成的数组。例如[ { name: a value: 1 }, { name: b value: 2 },...],这个方法不接受任何参数。.serializeArray() 方法创建一个对象组成的javascript数组,用来编码成一个JSON一样的字符串。 它可以对一个代表一组表单元素的 jQuery 对象进行操作。表单元素可以有以下几种类型: 4 ... 阅读全文