当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 每个Java对象都有hashCode()和equals()方法。
 

 

 ·struts用户指南(四)    »显示摘要«
    摘要: 4. 创建controller组件4.1 概述现在我们理解了怎样构造你的应用程序的model和view组件,现在是集中到 controller 组件的时候了。struts包括一个实现映射一个请求uri到一个行为类的主要功能的servlet。因此你的与controller有关的主要责任是: 为每一个可能接收的逻辑请求写一个 action 类(也就是,一个 action 接口的实现......
 ·struts模块化编程教程(一)    »显示摘要«
    摘要: 1、前言 struts是标准的"模型2"的web应用框架,其中的actionservlet代表了"模型2"mvc设计模式中的"控制器" 。struts应用程序一般使用jsp代码生成用户界面,这些代码不包括任何商业逻辑,代表了mvc中的”view”部分。需要执行商业逻辑的用户界面中的表单或超链将会由"控制器" actionservlet接收和处理。在struts中,只有一个act......


有效和正确定义hashCode()和equals()
每个java对象都有 hashcode() 与 equals() 方法.许多类忽略(override)这些方法的缺省实施,以在对象实例之间提供更深层次的语义可比性.在 java理念与实践这一部分,java开发人员brian goetz向您介绍在创建java类以有效与准确定义 hashcode() 与 equals() 时应遵循的规则与指南.您可以在 讨论论坛与作者与其它读者一同探讨您对本文的看法.(您还可以点击本文顶部或底部的 讨论进入论坛.) 虽然java语言不直接支持关联数组 -- 可以使用任何对象作为一个索引的数组 -- 但在根 object 类中使用 hashcode() 方法明确表示期望广泛使用 hashmap (及其前辈 hashtable ).理想情况下基于散列的容器提供有效插入与有效检索;直接在对象模式中支持散列可以促进基于散列的容器的开发与使用. 定义对象的相等性object 类有两种方法来推断对象的标识: equals() 与 hashcode() .一般来说,如果您忽略了其中一种,您必须同时忽略这两种,因为两者之间有必须维持的至关重要的关系.特殊情况是根据 equals() 方法,如果两个对象是相等的,它们必须有相同的 hashcode() 值(尽管这通常不是真的). 特定类的 equals() 的语义在implementer的左侧定义;定义对特定类来说 equals() 意味着什么是其设计工作的一部分. object 提供的缺省实施简单引用下面等式:   public boolean equals(object obj) { return (this == obj); } 在这种缺省实施情况下,只有它们引用真正同一个对象时这两个引用才是相等的.同样, object 提供的 hashcode() 的缺省实施通过将对象的内存地址对映于一个整数值来生成.由于在某些架构上,地址空间大于 int 值的范围,两个不同的对象有相同的 hashcode() 是可能的.如果您忽略了 hashcode() ,您仍旧可以使用 system.identityhashcode() 方法来接入这类缺省值. 忽略equals() -- 简单实例缺省情况下, equals() 与 hashcode() 基于标识的实施是合理的,但对于某些类来说,它们希望放宽等式的定义.
...   下一页
    摘要: 关于这个问题可能每个人有自己的解决办法。但如果要按照struts的风格来做,应该是这样的:1) 自己写个类(假定为datamap),这个类继承hashmap,并实现dynabean2) 将resultset中的数据取出填充到这个datamap中3)将多条数据(也就是多个datamap)填到一个arraylist4) 将这个arraylist放到你的actionform中5)在j......
» 本期热门文章:

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