- 浏览: 1052650 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (605)
- 数据挖掘 (22)
- spring (40)
- 工具使用 (39)
- java (137)
- JavaScript (40)
- webwork (12)
- web (120)
- 资源 (7)
- SSH (5)
- oracle (20)
- J2ME (1)
- 环境配置 (37)
- 项目管理 (29)
- mysql (14)
- struts (4)
- 项目总结 (27)
- ibatis学习 (33)
- 学习计划 (2)
- 缓存 (7)
- 重构 (3)
- Android (1)
- jquery (12)
- UML (3)
- 用户体验 (4)
- 习惯 (7)
- sakai (1)
- urlrewrite (4)
- rss (5)
- C plus plus (5)
- 算法 (5)
- 海量数据处理 (7)
- office(word、excel) (1)
- 面试题 (3)
- solr (8)
- 大数据 (2)
最新评论
-
hujin19861102:
截图看不见,最后一个webwrok的配置看不见
Ext+Webwork+Json 实现分页表格查询效果 -
蜗牛笔:
弱弱的问一句,要是分出来的词在词典中没有,那么两部分的pos- ...
ICTCLAS 中科院分词系统 -
weipeng1986:
授人予鱼不如授人予鱼,我想问你的是你是怎么总结的。比如第四种情 ...
JAVA中字符串连接效率的测试 -
xiaoqiang2008:
执行两次的原因是什么,好像楼主没弄清楚啊!是不是在web.xm ...
关于Spring中用quartz定时器在定时到达时同时执行两次的问题 -
Kent_Mu:
...
ibatis-dynamic的用法
package net.xxt;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
/**
* 支持HashCode查找, 重写了equals和hashCode方法
* 支持对象克隆,实现了Cloneable接口,重写了clone方法
* 支持对象比较,实现了Comparable接口,重写了compareTo方法
* 支持直接打印对象,重写了toString方法。
* @author zhaoguoli
* @version v1.0 2009-07-09 0:30 创建
*/
class Person implements Cloneable, Comparable {
private String name;
private float score;
private int age;
public Person(String name, int age, float score) {
this.name = name;
this.age = age;
this.score = score;
}
public boolean equals(Object obj) {
return true;
}
/**
* 必须要重写equals方法才行
*/
public int hashCode() {
return this.name.hashCode() + this.age * 1000;
}
/**
* 实现Cloneable接口,protected --> public ,抛出异常,调用父类SUPER
*/
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
/**
* 实现Comparable接口,重写compareTo方法,返回值1,0,-1
* 覆写compareTo方法就是重建排序规则
*/
public int compareTo(Object obj) {
Person p = (Person) obj;
if (p.score > this.score) {
return 1;
} else if (p.score < this.score) {
return -1;
} else {
// 如果成绩相等则判断年龄
if (p.age > this.age) {
return 1;
} else if (p.age < this.age) {
return -1;
} else {
return 0;
}
}
}
/**
* 定义打印格式
*/
public String toString() {
return "姓名:" + this.name + ",年龄:" + this.age + ",成绩:" + this.score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
};
/**
* java特性测试及汇总
* @author 赵国力
* @version v1.0 2009-07-09 0:36 创建
*/
public class JavaAdv {
/**
* 测试类
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
// hashcode测试
System.out.println("hashCode方法使用测试");
Map m = new HashMap();
m.put(new Person("张三", 30, 30), "张三");
System.out.println(m.get(new Person("张三", 30, 30)));
System.out.println("------------------------------");
// clone测试
System.out.println("clone方法使用测试");
Person p1 = new Person("张三", 30, 30);
Person p2 = (Person) p1.clone();
p2.setName("李四");
System.out.println(p1);
System.out.println(p2);
System.out.println("------------------------------");
// 比较对象测试
System.out.println("compareTo方法使用测试");
Person p[] = new Person[5];
p[0] = new Person("张三", 20, 96);
p[1] = new Person("李四", 19, 96);
p[2] = new Person("王五", 19, 97);
p[3] = new Person("赵六", 21, 78);
p[4] = new Person("孙七", 20, 80);
Arrays.sort(p);
for (int i = 0; i < p.length; i++) {
System.out.println(p[i]);
}
System.out.println("------------------------------");
//比较对象测试2
System.out.println("compareTo方法使用测试");
Set s = new TreeSet();
s.add(new Person("张三", 20, 96));
s.add(new Person("李四", 19, 96));
s.add(new Person("王五", 19, 97));
s.add(new Person("赵六", 21, 78));
s.add(new Person("孙七", 20, 80));
Iterator iter = s.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
System.out.println("------------------------------");
}
}
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
/**
* 支持HashCode查找, 重写了equals和hashCode方法
* 支持对象克隆,实现了Cloneable接口,重写了clone方法
* 支持对象比较,实现了Comparable接口,重写了compareTo方法
* 支持直接打印对象,重写了toString方法。
* @author zhaoguoli
* @version v1.0 2009-07-09 0:30 创建
*/
class Person implements Cloneable, Comparable {
private String name;
private float score;
private int age;
public Person(String name, int age, float score) {
this.name = name;
this.age = age;
this.score = score;
}
public boolean equals(Object obj) {
return true;
}
/**
* 必须要重写equals方法才行
*/
public int hashCode() {
return this.name.hashCode() + this.age * 1000;
}
/**
* 实现Cloneable接口,protected --> public ,抛出异常,调用父类SUPER
*/
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
/**
* 实现Comparable接口,重写compareTo方法,返回值1,0,-1
* 覆写compareTo方法就是重建排序规则
*/
public int compareTo(Object obj) {
Person p = (Person) obj;
if (p.score > this.score) {
return 1;
} else if (p.score < this.score) {
return -1;
} else {
// 如果成绩相等则判断年龄
if (p.age > this.age) {
return 1;
} else if (p.age < this.age) {
return -1;
} else {
return 0;
}
}
}
/**
* 定义打印格式
*/
public String toString() {
return "姓名:" + this.name + ",年龄:" + this.age + ",成绩:" + this.score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
};
/**
* java特性测试及汇总
* @author 赵国力
* @version v1.0 2009-07-09 0:36 创建
*/
public class JavaAdv {
/**
* 测试类
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
// hashcode测试
System.out.println("hashCode方法使用测试");
Map m = new HashMap();
m.put(new Person("张三", 30, 30), "张三");
System.out.println(m.get(new Person("张三", 30, 30)));
System.out.println("------------------------------");
// clone测试
System.out.println("clone方法使用测试");
Person p1 = new Person("张三", 30, 30);
Person p2 = (Person) p1.clone();
p2.setName("李四");
System.out.println(p1);
System.out.println(p2);
System.out.println("------------------------------");
// 比较对象测试
System.out.println("compareTo方法使用测试");
Person p[] = new Person[5];
p[0] = new Person("张三", 20, 96);
p[1] = new Person("李四", 19, 96);
p[2] = new Person("王五", 19, 97);
p[3] = new Person("赵六", 21, 78);
p[4] = new Person("孙七", 20, 80);
Arrays.sort(p);
for (int i = 0; i < p.length; i++) {
System.out.println(p[i]);
}
System.out.println("------------------------------");
//比较对象测试2
System.out.println("compareTo方法使用测试");
Set s = new TreeSet();
s.add(new Person("张三", 20, 96));
s.add(new Person("李四", 19, 96));
s.add(new Person("王五", 19, 97));
s.add(new Person("赵六", 21, 78));
s.add(new Person("孙七", 20, 80));
Iterator iter = s.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
System.out.println("------------------------------");
}
}
发表评论
-
fork/join框架
2017-03-09 11:03 501http://blog.csdn.net/ye1992/art ... -
protobuffer
2017-03-09 10:54 701http://blog.csdn.net/antgan/art ... -
整理上传代码容易忽略的注意事项
2013-08-31 11:28 1166每个公司都有自己的代码代码上传流程:如果打包发布的话,是不存 ... -
mysql版本升级引发的问题
2013-05-16 15:25 1658问题描述: 1. ibatis 中 mysql语 ... -
网站的记住密码功能设计
2013-02-27 19:09 1311http://greenyouyou.blog.163 ... -
大型网站架构演变之路
2013-02-27 19:08 1148http://www.cnblogs.com/ivanjack ... -
使用Filter统计Java(J2EE)的web程序http请求响应时间
2013-02-27 19:07 1392http://www.cnblogs.com/ivan ... -
java bean与xml相互转换
2013-02-06 10:27 2054最近在做的项目,在各个平台之间需要大量传输数据,且结构比较 ... -
java 反射
2013-01-14 18:21 834http://www.cnblogs.com/rollenh ... -
字符串替换
2012-12-17 11:17 1160高效的字符串模式替换实现效果如下 String str ... -
httpURLConnection获取网络数据:XML格式返回与Json格式返回
2012-12-15 16:57 149291.服务器端代码样例: public class ... -
利用Freemarker实现表到功能界面的一键生成
2012-11-22 18:03 1021利用Freemarker实现表到功能界面的一键生成 h ... -
ibatis in ##的问题
2012-11-02 13:25 856http://www.hake.cc/a/biancheng/ ... -
ibatis缓存强制刷新与命中率
2012-10-19 19:06 1395缓存强制刷新: // spring注入 private Sq ... -
eclipse 的一些设置
2012-08-16 22:06 17631. 控制台信息太多,程序跑完后只能保留最后的一部分之前的 ... -
jdk1.5 System.arraycopy与jdk1.6 中Arrays.copyOf()&Arrays.copyOfRange()
2012-08-16 21:56 3290在JDK1.5的类System类中有方法 ... -
Eclipse报Java heap space错误的解决方案
2012-08-16 16:43 12073当运行大数量的数据时: (1) 如果是java 应用程 ... -
求两个字符串的最大公共字符串
2012-08-10 20:41 1066http://blog.csdn.net/wangcj625/ ... -
ffmpeg 截取视频 播放中的图片
2012-06-19 09:14 1317http://www.cnblogs.com/live365w ... -
memcached 项目中的使用
2012-06-13 09:29 1068http://ljh2008.iteye.com/blog/6 ...
相关推荐
JAVA 中常用类的常用方法 JAVA 中有许多常用的类,每个类都有其特定的方法,本文将对 java.lang.Object 类、String 类和 StringBuffer 类的常用方法进行讲解。 一、java.lang.Object类 java.lang.Object 类是 ...
JAVA中常用类的常用方法主要涵盖了java语言中基础类库的关键类以及它们提供的主要方法。以下是针对文档内容的详细解释: 1. java.lang.Object类 Object类是Java中所有类的超类,它提供了多种方法,这些方法在Java中...
- **use-a:** 使用关系,如一个类使用另一个类的方法或属性。 - **has-a:** 组合关系,表示一个类拥有另一个类的实例作为其成员变量。 - **is-a:** 继承关系,表示一个类是另一个类的子类。 #### 二、封装 **定义...
`Object`提供了诸如`clone()`、`equals()`和`hashCode()`等基本方法,用于对象复制、比较和哈希计算。 7. **Thread与Runnable接口** - `Thread`类代表程序中的一个执行线程,而`Runnable`接口定义了线程执行的任务...
- 使用`compareTo()`方法,它基于`Comparable`接口,`Date`类实现了这个接口。 5. **日期格式化**: - `SimpleDateFormat`类允许我们以指定的格式解析和格式化日期。例如,`"yyyy-MM-dd HH:mm:ss"`格式将日期转换...
它包含了所有对象共有的基本方法,如`equals()`、`hashCode()`、`toString()`以及`clone()`等。`equals()`用于比较两个对象是否相等,`hashCode()`返回对象的哈希码,`toString()`则将对象转换为字符串表示形式。 2...
此外,包装类还支持`equals()`、`compareTo()`等比较操作,以及`hashCode()`和`clone()`等方法。 结合Builder模式,我们可以构建一个用于创建复杂对象的Builder类,其中包含对`StringBuilder`的使用,以生成包含...
`compareTo()`方法按照字典顺序比较字符串,`clone()`创建字符串的副本。 9. **国际化** `java.text`包提供了`Format`类族,支持日期、数字、货币等的本地化格式化。 10. **性能优化** 在大量字符串操作时,使用...
11. String类的常用方法包括concat()、compareTo()、trim()、split()等。 12. 普通类可以有构造方法和实例方法,可以实例化,而抽象类不能实例化,通常包含抽象方法。 13. 接口仅包含抽象方法和常量,不能有实现,...
hashCode() 函数是 Java 中另一个重要的函数,它用来生成对象的哈希码。hashCode() 函数的实现必须满足以下条件: * 当 x 和 y 两个对象具有 x.equals(y) == true 时,你必须要确保 x.hashCode() == y.hashCode()。...
- **Comparable**:接口用于实现对象的自然排序,比如String、Integer等类已经实现了Comparable接口,可以根据compareTo方法进行比较。 - **Comparator**:接口用于定制排序,当需要自定义排序规则时,可以创建...
- 实现`Comparable<T>`接口,定义`compareTo`方法。 - 确保比较逻辑的正确性,符合一般契约。 #### 四、类与接口 ##### Item12:最小化类及其成员的可访问性 - **目的**:降低系统的耦合度,提高可维护性。 - **...
【Java通用范例开发金典配套源代码】涵盖了Java编程中的多个重要知识点,包括类的处理、静态成员的使用、类反射、字符处理、数组与集合的处理以及窗体效果等。以下是对这些知识点的详细解释: 1. **类的处理**: -...
- `Date`:表示特定时间点,提供了`compareTo()`、`equals()`、`getTime()`和`toString()`等方法。 - `Calendar`:抽象类,提供了日期和时间的修改功能,支持国际化,如`getInstance()`、`get()`、`set()`、`add()`...
- `clone()` 和 `reverse()` 方法简单高效,适用于大多数场景。 - 还可以利用 `ArrayUtils` 中的其他方法进行更复杂的数组操作。 ##### 1.10. 在对象数组和原始类型数组之间转换 - **问题**:在 Java 中,对象...
- **答案:** 不一定非得使用.java作为扩展名,但这是约定俗成的做法,易于识别并被开发工具支持。 - **解释:** Java编译器通过文件名来确定源代码文件,并不强制要求特定的扩展名。但在实际开发中,.java是最常用...