java api接口篇(二)下

编写你自己的Comparable类型

Comparable 接口由一个单一的方法构成:

public interface Comparable {
public int compareTo(Object o);
}

compareTo 方法将接收对象与特定对象进行比较,并在接收对象小于、等于或大于特定对象时分别返回负整数、空或一个正整数。如果特定对象不能与接收对象相比较,该方法扔出一个ClassCastException. 这是一个表示某人姓名的类(a class representing a person"s name), 它实现了 Comparable:

import java.util.*;

public class Name implements Comparable {
private String firstName, lastName;

public Name(String firstName, String lastName) {
if (firstName==null || lastName==null)
throw new NullPointerException();
this.firstName = firstName;
this.lastName = lastName;
}
public String firstName() {return firstName;}
public String lastName() {return lastName;}

public boolean equals(Object o) {
if (!(o instanceof Name))
return false;
Name n = (Name)o;
return n.firstName.equals(firstName) &&
n.lastName.equals(lastName);
}

public int hashCode() {
return 31*firstName.hashCode() + lastName.hashCode();
}

public String toString() {return firstName + " " + lastName;}

public int compareTo(Object o) {
Name n = (Name)o;
int lastCmp = lastName.compareTo(n.lastName);
return (lastCmp!=0 ? lastCmp :
firstName.compareTo(n.firstName));
}
}

为了使这个例子短一些,该类受到了一点限制:它不支持中间名,它要求必须同时具有first name 和 last name, 而这不是在全世界都通用的。尽管如此,这个例子仍有几个重要之处:

Name 对象是不变的( immutable)。作为相等、不变类型的所有其它事情就是如何做的问题,特别是对那些将被用来作为 Sets 中的元素或 Maps 中的键的对象来说,更是如此。如果你对这些 对象集 中的元素或键做了更改,这些 对象集 将中断。

时间: 2024-11-01 12:18:18

java api接口篇(二)下的相关文章

java api接口篇(二)上

Map接口 Map是一个将键映射为值的对象.一个映射不能包含重复键:每个键最多能映射一个值.Map接口如下所示: public interface Map { // Basic Operations Object put(Object key, Object value); Object get(Object key); Object remove(Object key); boolean containsKey(Object key); boolean containsValue(Object

文档编写-java api接口编写是什么?

问题描述 java api接口编写是什么? 是不是将DAO方法提取接口,然后再对方法功能介绍? 能给个模板吗? 解决方案 调用API好像是类似于调用一个自定函数那样就可以了吧 public interface inf(int a, int b){ ... }; 调用: inf in = new inf(12, 14); 我也不太确定,感觉应该是一样的..

容易忽视但是功能灰常强大的Java API

容易忽视但是功能灰常强大的Java API 收藏 这几天看了一些用java编写的程序代码,发现了很多以前不知道的api功能.原以为自己还算得上是一个java语言的中级学习者,现在看来自己只是一个java初级学习者,对java的认识一直只是停留在java的表层,解决一些应用问题只是毫无新意地将一些已知的常用接口.数据结构等翻来覆去地使用,没有更深地去了解这门语言.事实上java提供了很多功能非常强大的接口,能够很方便地为我们解决一些实际的问题,下面就具体介绍几个我最近了解的java API功能.

Java Http接口加签、验签操作方法_java

1.业务背景 最近接触了一些电商业务,发现在处理电商业务接口时,比如淘宝.支付类接口,接口双方为了确保数据参数在传输过程中未经过篡改,都需要对接口数据进行加签,然后在接口服务器端对接口参数进行验签,确保两个签名是一样的,验签通过之后再进行业务逻辑处理.我们这里主要介绍一下处理思路,至于签名算法我不做过多介绍,网上一大堆. 2.处理思路 双方约定好,参数按特定顺序排列,比如按首字母的顺序排列,如url:http://xxx/xxx.do?a=wersd&b=sd2354&c=4&si

数据-急!!有API接口接入的智能过滤服务嘛!

问题描述 急!!有API接口接入的智能过滤服务嘛! 是否有API接口服务的过滤服务,最好是可以实现实时数据的!!! 解决方案 Web Api --智能Api接口 解决方案二: 是想要针对UGC板块上传前进行实时的接调过滤的接口服务吗,可以去搜索一下网易易盾,是网易旗下今年刚刚对外开放的反垃圾云服务,就是企业通过API接口实现实时过滤的,功能性比较强大的.

java 使用http协议访问api接口,发送json数据

问题描述 java 使用http协议访问api接口,发送json数据 http访问 api接口,http的头需要加入id 和密钥进行验证,发送json格式的数据给应用程序,求大神指教.有没有实例程序可供参考的,谢谢各位了 解决方案 jsp服务器端 变量 = request.getHeader(""http头字段""); 客户端 HashMap<String String> headers = new HashMap<String String>

用jsoup解析百度API接口获取音乐下载地址,java项目没问题但是Android项目不行

问题描述 用jsoup解析百度API接口获取音乐下载地址,java项目没问题但是Android项目不行 因为是新手,所以很多基础不牢固,但是看了很多教学和网上的实例,感觉解析起来没有那么费劲,于是尝试练习一下这个功能 然后加进自己的毕业设计中,结果提前给自己挖了坑.什么都不显示,请教怎么回事百思不得其解,还有怎么解决呢?大概思路 是怎么样的呢?跪谢!! package com.example.jsoup; import org.jsoup.Jsoup; import org.jsoup.node

调用淘宝api接口taobao.logistics.offline.send (自己联系物流(线下物流)发货)

问题描述 调用淘宝api接口taobao.logistics.offline.send(自己联系物流(线下物流)发货)在这个接口的调用中后台收到淘宝返回异常信息为:[调用API更新淘宝交易状态为已发货失败,信息:ErrCode:15ErrMsgRemoteserviceerrorSubErrCode:CD01SubErrMsg:CD01#当前订单不允许用其他物流公司发货]这里提示信息为,我们使用的物流公司错误,我们代码中使用的物流公司为:varreq=newLogisticsOfflineSen

Java在线教程——接口篇

Interfaces 接口 在软件工程中,由一份"契约"规定来自不同的开发小组的软件之间如何相互作用是非常常见的.每个小组都可以在不知道别的组的代码的前提下独立开发自己的代码.Java中的interface就是这样的一份"契约". 举个例子,假设在未来社会有一种智能汽车,它可以在自动运载旅客而不需要人工操作.汽车生产商开发了软件(当然是用Java)来控制这种汽车停止,发动,加速,左转等等.电子导航仪器生产商负责开发接受GPS位置数据和交通状况无线传输的电脑系统,并且