http://www.cnblogs.com/wkylin/archive/2012/09/07/2674911.html
http://www.bhcode.net/article/20110822/22374.html
看最后的一种写法,感觉最好。