当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 虽然Java语言不直接支持关联数组 -- NT
 

 

 ·初级游戏开发指南    »显示摘要«
    摘要:作者:dave astle译者:room3rd@hotmail.com 1. 作者简介  从1984年开始,dave astle就做着游戏开发工作。日间,他是roi system,inc的一名软件工程师,夜间,引领myopic rhino游戏开发小组。只要有时间,他就会帮助gamedev.net成为最好的游戏开发资源网站。当然,他也需要偶尔的休息。2. 译者序3. 正文  很多刚接触开发或没什么......
    摘要:how rpc works the rpc tools make it appear to users as though a client directly calls a procedure located in a remote server program. the client and server each have their own address spaces; that is......


Java 理论与实践: 哈希
虽然java语言不直接支持关联数组 -- 可以使用任何对象作为一个索引的数组 -- 但在根object类中使用hashcode()方法明确表示期望广泛使用hashmap(及其前辈hashtable).理想情况下基于散列的容器提供有效插入与有效检索;直接在对象模式中支持散列可以促进基于散列的容器的开发与使用.

【程序编程相关:Groovy在WebWork2中的应用

定义对象的相等性 【推荐阅读:偷梁换柱:让未注册的用户也能在动网论坛发

特定类的equals()的语义在implementer的左侧定义;定义对特定类来说equals()意味着什么是其设计工作的一部分.object提供的缺省实施简单引用下面等式: 【扩展信息:WebWork中使用动态Form字段

object类有两种方法来推断对象的标识:equals()与hashcode().一般来说,如果您忽略了其中一种,您必须同时忽略这两种,因为两者之间有必须维持的至关重要的关系.特殊情况是根据equals() 方法,如果两个对象是相等的,它们必须有相同的hashcode()值(尽管这通常不是真的).

   public boolean equals(object obj) { return (this == obj); } 在这种缺省实施情况下,只有它们引用真正同一个对象时这两个引用才是相等的.同样,object提供的hashcode()的缺省实施通过将对象的内存地址对映于一个整数值来生成.由于在某些架构上,地址空间大于int值的范围,两个不同的对象有相同的hashcode()是可能的.如果您忽略了hashcode(),您仍旧可以使用system.identityhashcode()方法来接入这类缺省值.

忽略 equals() -- 简单实例

缺省情况下,equals()与hashcode()基于标识的实施是合理的,但对于某些类来说,它们希望放宽等式的定义.例如,integer类定义equals() 与下面类似:

   public boolean equals(object obj) {    return (obj instanceof integer             && intvalue() == ((integer) obj).intvalue());  } 在这个定义中,只有在包含相同的整数值的情况下这两个integer对象是相等的.结合将不可修改的integer,这使得使用integer作为hashmap中的关键字是切实可行的.这种基于值的equal方法可以由java类库中的所有原始封装类使用,如integer.float.character与boolean以及string(如果两个string对象包含相同顺序的字符,那它们是相等的).由于这些类都是不可修改的并且可以实施hashcode()与equals(),它们都可以做为很好的散列关键字.

为什么忽略 equals()与hashcode()?


...   下一页
    摘要:对于j2ee 应用程序而言,事务的处理一般有两种模式:1. 依赖特定事务资源的事务处理这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理。 如通过jdbc、jta 的rollback、commit方法;hibernate transaction 的rollback、commit方法等。这种方法大家已经相当熟悉。2. 依赖容器的参数化事务管理通过容器提供的集约式参数化事务机制,实现......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE