我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537367.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验. Object 公共方法 equals 当你的对象里有的域允许 null 值时,实现 Object.equals 方法会很麻烦,因为你必须单独检查 null .使用 Objects.equal 方法可以完成考虑null(null-sensitive)的 equals 检查,而不用担心会出现 Nul…
用户指南 Guava包含Google在Java项目中用到的一些核心库:collections, caching, primitives support, concurrency 库, common annotations, string 处理, I/O等.Google工程师们在开发中每天都使用这些工具. 但是,要学习如何用好这些库,通读Javadoc并不是最有效的方法.在这里,我们尝试用一种可读性强.轻松愉快的方法来介绍Guava中最常用和最强大的特性. 这个wiki还在编写过程中,一些部分可能…
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3538666.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验. 例子 public static final ImmutableSet<String> COLOR_NAMES =ImmutableSet.of( "red", "orange", "yellow", "green&quo…
本文地址:http://www.cnblogs.com/hamhog/p/3536647.html "null很恶心." -Doug Lea "这是一个令我追悔莫及的错误." - Sir C. A. R. Hoare, 在评价他对null的发明时说. 使用和避免使用null 粗心地使用null能导致各种各样的bug.通过研究Google code base,我们发现大约95%的collection中不该含有null值.对于开发者来说,collection对null值…
本文地址:http://www.cnblogs.com/hamhog/p/3536964.html 前置条件检查 Guava提供了一些检查前置条件的utilities.我们强烈建议静态import这些utilities.(如何在Eclipse中轻松做到.) 这些方法的参数列表有3种变形: 不附额外的参数.抛出exception时没有错误信息. 额外附一个 Object 类型的参数.抛出exception时,错误信息为 object.toString . 额外附一个 String 类型的参数,以及…
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3537508.html ,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验. Guava的 Throwables 工具常常可以让exception处理更方便. Propagation 有时候,你会想把捕获的exception抛到上一个try/catch块.对于 RuntimeException 和 Error 尤为如此,它们不需要 try/catch 块,但可能被其他的…
本文地址:http://www.cnblogs.com/hamhog/p/3537233.html 示例 assertTrue(byLengthOrdering.reverse().isOrdered(list)); 概述 Ordering 是Guava的"流畅版" Comparator ,它用来构建高级comparator,并把comparator应用于各种集合(collection). 本质上, Ordering 实例不过是一个特殊的 Comparator 实例. Ordering…
在C#中,所有类型最终都从System.Object派生,所以每个类型的每个对象都保证了一组最基本的方法.具体地说,System.Object提供了一组公共实例方法. 一.Equals 如果两个对象具有相同的值,就返回true. 二.GetHashCode 返回对象的值的哈希码.如果某个类型的对象要在哈希表集合中作为键使用,类型应重写该方法.将这个方法设计到Object中并不恰当.大多数类型永远不会在哈希表中作为键使用.该方未能本该在接口中定义. 三.ToString 默认返回类型的完整名称(t…
网上有好多写如何讲自己定义的方法绑定到lua的文章,当中都仅仅对环境配置做了简单的介绍,看到有的帖子写在绑定中遇到了各种各样的error.大部分是因为环境配置不对导致的,下面是官方的文档有标准的说明,里面说明了使用bindings-generator的环境须要,详细的如何配置路径网上多事一堆一堆的我把python用到的pyyaml和pyCheetah须要放置的路径写在了下面,全部的开发引擎都会有自己的说明文档.下面就是cocos2dx 官方文档 //如何使用 bindings-generator…
日志类提供了很多方法用于处理日志活动,它不允许我们自己实例化一个logger,但是提供给我们两种静态方法获得logger对象: public static Logger getRootLogger(); public static Logger getLogger(String name); 第一种方法返回应用实例的根logger,它没有名字. 第二种方法可以通过名字获得日志对象logger,类的名字是你传递的class的名字,通常是一个class的类名或者包名. static Logger l…