本章节收集的类/接口API有:

Object类,枚举,包装类,接口Comparable,类Arrays,异常,

Object类

public String toString():    【把一个对象的信息用一个字符串表示,尽量要能够简单易懂,建议子类重写】

public Class<?> getClass():  【获取对象的“运行时”类型】

public void finalize():                 【当一个对象被确定为垃圾时,由GC垃圾回收器来进行调用,每一个对象的finalize()方法只会被调用一次

public int hashCode():      【返回一个对象的hashCode值】

常规协定:

(1)如果一个对象的参与计算hashCode值的成员变量没有修改,那么在程序运行期间,每次获取的hashCode值不变。

(2)如果两个对象hashCode不同,那么这两个一定不“相等”

(3)如果两个的hashCode值相同,那么这两个对象不一定“相等”

(4)如果两个相等,那么他们的hashCode值一定要相同。

public boolean equals(Object obj):               【用于判断当前对象与指定对象是否相等】     

默认的实现,等价于“==”,比较对象的内存地址。

子类可以选择重写,重写有一些要求及原则:重写equals时,一定要重写hashCode方法。一致性、对称性、自反性、传递性、非空对象与null的equals一定是false

protected Object clone()throws CloneNotSupportedException :   【获取一个对象的克隆体对象】    

所有类型都可以重写这个方法,它是获取一个对象的克隆体对象用的,就是造一个和当前对象各种属性值一模一样的对象。当然地址肯定不同。

调用此方法必须实现java.lang.Cloneable接口

枚举

1.toString():   【默认返回的是常量名(对象名),可以继续手动重写该方法】
2.name():   【返回的是常量名(对象名)】
3.ordinal():    【返回常量的次序号,默认从0开始】
4.values():    【返回该枚举类的所有的常量对象,返回类型是当前枚举的数组类型,是一个静态方法】
5.valueOf(String name):     【根据枚举常量对象名称获取枚举对象】

包装类

1、基本数据类型和字符串之间的转换

1)String str = String.valueOf(xxx);   【把基本数据类型转为字符串

2)除了Character类之外,其他所有包装类都具有parseXxx静态方法

int a = Integer.parseInt("整数的字符串");      【String转换成对应的基本类型

3)把字符串转为包装类,然后可以自动拆箱为基本数据类型,(返回值类型是包装类)

  int a = Integer.valueOf("整数的字符串");              【把字符串转为包装类

2、数据类型的最大最小值

Integer.MAX_VALUE和Integer.MIN_VALUE                【返回对应类型的最大/小常量值】

3、字符转大小写

Character.toUpperCase('x');                                    【字符转大写】
Character.toLowerCase('X');  【字符转小写】

4、整数转进制

Integer.toBinaryString(int i)                                         【整数转二进制】
Integer.toHexString(int i)                                             【整数转十六进制】
Integer.toOctalString(int i)                【整数转八进制】

接口Comparable,Comparator

int compareTo(Object obj);  【根据对象属性的值按自然排序】

第一步:哪个类的对象要比较大小,哪个类就实现java.lang.Comparable接口,并重写方法

第二步:对象比较大小时,通过对象调用compareTo方法,根据方法的返回值决定谁大谁小。

接口规定:返回值大于0调用对象大于指定对象,小于0就小于指定对象,等于0就两个对象值相等

(java.util.Arrays数组工具类的public static void sort(Object[] a)就是这么实现的)

int compare(Object o1,Object o2);                            根据对象属性的值按定制排序】

第一步:编写一个类,我们称之为比较器类型,实现java.util.Comparator接口,并重写方法

第二步:比较大小时,通过比较器类型的对象调用compare()方法,将要比较大小的两个对象作为compare方法的实参传入,根据方法的返回值决定谁大谁小。

  • o1对象大于o2返回正整数

  • o1对象小于o2返回负整数

  • o1对象等于o2返回零

(java.util.Arrays数组工具类的public static <T> void sort(T[] a, Comparator<? super T> c)就是这做的)

java.lang.Cloneable接口,和Object类配合使用                【用于复制对象】

类 Arrays

此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂

可按照参数类型按升序排序,还可指定范围按升序进行排序。

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);  【忽略大小写排序】

Arrays.sort(strArray, Collections.reverseOrder());                  【反向排序】

Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);  【忽略大小写反向排序】

sort(T[] a, Comparator<? super T> c)   【根据指定比较器产生的顺序对指定对象数组进行排序。(同上面接口配合使用)】

异常

e.toString():           【获得异常种类和错误信息】

e.getMessage():       【获得错误信息】

Java类/接口的API的更多相关文章

  1. Java 类、接口的API

    本章节收集的类/接口API有: Object类,枚举,包装类,接口Comparable,类Arrays,Thread类,System类,Math,BigInteger,Random,日期时间,异常 O ...

  2. 规则引擎集成接口(九)Java类对象

    Java类对象 右键点击“对象库” —“添加java类对象”,如下图: 弹出窗体,在文本框中输入类的全名“com.flagleader.test.Test”,选择该类型后确定,如下: 显示如下,勾选上 ...

  3. 规则引擎集成接口(七)规则引擎调用Java类

    规则引擎调用Java类 通过myEclipse编写一个简单工程,其中方法是两数相加等到结果,既结果1=输入值1+输入值2.实现规则调用外部接口的方法有三种. 1:接口实例:在myEclipse中制作一 ...

  4. java类中定义接口

    今天看到一个java类中定义了接口,写个备忘录,记录一下 package com.gxf.test; public class Test_interface { public interface sh ...

  5. 使用java API查询java类

    一.java API的下载地址 前面列举了常用的java类,但只是介绍了功能,具体详细的用法(比如要知道该类的属性和方法)要需要调用java的API(Application Program Inter ...

  6. Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法??

    Atitit. 衡量项目规模 ----包含的类的数量 .net java类库包含多少类 多少个api方法?? 1 framework 4.5 (10万个api)1 2 Jdk8   57M1 3 Gi ...

  7. 要创建一个EJB,必须要至少编写哪些Java类和接口?

    要创建一个EJB,必须要至少编写哪些Java类和接口? A. 定义远程(或业务)接口 B. 定义本地接口 C. 定义Bean接口 D. 编写Bean的实现 解答:ABC

  8. 项目中一个普通的Java类如何获取service接口(一)

    在普通的Java类中获取service接口目的是调用接口中的方法,实现数据的持久化等操作: Java类中的获取service接口方法: IfaceDetectService faceDetectSer ...

  9. 组件接口(API)设计指南[2]-类接口(class interface)

    *返回文件夹阅读其它章节: http://blog.csdn.net/cuibo1123/article/details/39894477 类接口(class interface) 你能够參考MGTi ...

随机推荐

  1. 渗透测试-基于白名单执行payload--Odbcconf

    复现亮神课程 基于白名单执行payload--Odbcconf 0x01 Odbcconf简介: ODBCCONF.exe是一个命令行工具,允许配置ODBC驱动程序和数据源. 微软官方文档:https ...

  2. [NOIp2014] luogu P2312 解方程

    题目描述 已知方程∑i=0naixi=0\sum_{i=0}^{n}{a_ix^i}=0i=0∑n​ai​xi=0求该方程在 [1,m][1,m][1,m] 内的整数解. Solution 有一个秦九 ...

  3. java-i++的原理探究

    先看例子: package com.test; publick class Auto{ public static void main(String[] args){ Auto inc=new Aut ...

  4. 本月16日SpringBoot2.2发布,有哪些变化先知晓

    本月(2019年10月16日)Spring Boot 2.2已经正式发布了!在此篇文章中,将给大家介绍一下2.2版为大家带来了哪些重要的新变化.笔者用心书写,希望阅读完成之后转发关注,你的支持是我不竭 ...

  5. 那些惊艳的 GIS 轮子

    一.前言 GIS 涉及测绘.几何拓扑.人文社科等多方面的科学知识.在 .Net 平台下有着许多优秀的开源产品,比如:MapWindow.SharpMap.WorldWind等.而在这其中,Coordi ...

  6. day08整理(周总结\列表\字典内置方法)

    一.周总结 一 计算机基础之编程 1.什么是编程语言 编程是人与计算机交流的介质 2.什么是编程 通过编程语言写一堆文件 3,为什么编程 取代劳动力,帮人类干活 二 计算机组成 1.CPU 控制器 控 ...

  7. 使用haproxy实现负载均衡集群

    一.HAProxy概述: HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.根据官方数据,其最高极限支持10G的并发. HAP ...

  8. redis入门(二)

    目录 redis入门(二) 前言 持久化 RDB AOF 持久化文件加载 高可用 哨兵 流程 安装部署 配置技巧 集群 原理 集群搭建 参考文档 redis入门(二) 前言 在redis入门(一)简单 ...

  9. Tkinter 之Entry输入框标签

    一.参数说明 语法 作用 Entry(root,width=20) 组件的宽度(所占字符个数) Entry(root,fg='blue') 前景字体颜色 Entry(root,bg='blue') 背 ...

  10. API 接口开发规范

    整体规范建议采用RESTful 方式来实施. 协议 API与用户的通信协议,总是使用HTTPs协议,确保交互数据的传输安全. 域名 应该尽量将API部署在专用域名之下.https://api.exam ...