Java.lang包的接口解读

Java.lang包中提供了八个接口:

1、Appendable

能够被追加 char 序列和值的对象。如果某个类的实例打算接收来自 Formatter的格式化输出,那么该类必须实现 Appendable 接口。如StringBuffer就实现了此接口。此接口定义了三个append方法:

Appendable append(CharSequence csq,int start,int end)throws IOException

Appendable append(CharSequence csq,int start,int end)throws IOException

Appendable append(char c)throws IOException

猜猜它们要实现什么功能?

 2、CharSequence

是 char 值的一个可读序列。此接口对许多不同种类的 char 序列提供统一的只读访问。CharBufferStringStringBufferStringBuilder都实现此接口。

此接口定义的方法有:

 

 

char

 

charAt(int index) 返回指定索引的 char 值。

 

 int

 

length() 返回此字符序列的长度。

 

 CharSequence

 

subSequence(int start, int end)

返回一个新的 CharSequence,它是此序列的子序列。

 

 String

 

toString()返回一个包含此序列中字符的字符串,该字符串与此序列的顺序相同。

 

3、Cloneable

实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。 如果在没有实现 Cloneable 接口的实例上调用 Object 的 clone 方法,则会导致抛出CloneNotSupportedException 异常。按照惯例,实现此接口的类应该使用公共方法重写Object.clone(它是受保护的)。

此接口 包含 clone 方法。

4、Comparable<T>

此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序,类的 compareTo 方法被称为它的自然比较方法。实现此接口的对象列表(和数组)可以通过Collections.sort(和 Arrays.sort)进行自动排序。实现此接口的对象可以用作有序映射表中的键或有序集合中的元素,无需指定比较器。

此接口定义的方法了一个方法:

int compareTo(T o)

比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回-1、0、1。

5、Iterable<T>

实现这个接口允许对象成为 "foreach" 语句的目标。

此接口定义的方法了一个方法:

Iterator<Titerator()

返回一个在一组 T 类型的元素上进行迭代的迭代器。

 

返回:
一个迭代器。

6、Readable

      Readable 是一个字符源

      此接口定义的方法了一个方法:

      int read(CharBuffer cb)
         throws IOException

试图将字符读入指定的字符缓冲区。缓冲区可用作类似以下字符的存储库:所做的惟一改变是 put 操作的结果。不对缓冲区进行反转或重绕操作。

 

参数:
cb - 将要读入字符的缓冲区
返回:
添加到缓冲区的 char 值的数量,如果此字符源位于缓冲区末端,则返回 -1

7、

Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run 的无参数方法。

此接口定义的方法了一个方法:
void run()
使用实现接口 Runnable 的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的
 run 方法。

方法 run 的常规协定是,它可能执行任何所需的操作。

8、Thread.UncaughtExceptionHandler

当 Thread 因未捕获的异常而突然终止时,调用处理程序的接口。 

          此接口定义的方法了一个方法:

void uncaughtException(Thread t,Throwable e)
当给定线程因给定的未捕获异常而终止时,调用该方法。

Java 虚拟机将忽略该方法抛出的任何异常。

posted @ 2015-05-13 12:04  AndroidM  阅读(352)  评论(0编辑  收藏  举报