标签归档:java

Java中的 Comparable接口

Java 中 Comparable 和 Comparator 比较

实现 Comparable接口异味着该类支持排序。一些由实现了 Comparable接口的类对象所组成的 List或者数组,可以通过 Collections.sort(或 Arrays.sort)进行排序。

package com.baozhuwanglei.a04062017_filemanager;

import android.graphics.drawable.Drawable;

//实现java的排序接口
public class IconifiedText implements Comparable《IconifiedText》
{
	private String		mText		= "";
	private Drawable	mIcon		= null;
	private boolean	mSelectable	= true;
	public IconifiedText(String text, Drawable bullet)
	{
		mIcon = bullet;
		mText = text;
	}
	public boolean isSelectable()
	{
		return mSelectable;
	}
	public void setSelectable(boolean selectable)
	{
		mSelectable = selectable;
	}
	public String getText()
	{
		return mText;
	}
	public void setText(String text)
	{
		mText = text;
	}
	public void setIcon(Drawable icon)
	{
		mIcon = icon;
	}
	public Drawable getIcon()
	{
		return mIcon;
	}

	//这就是 Comparable接口中唯一的方法
	//返回值是负数 0 或者正数 正数是当前大于 other
	public int compareTo(IconifiedText other) {
		if (this.mText != null)
			return this.mText.compareTo(other.getText());
		else
			throw new IllegalArgumentException();
	}
}

下面就是一个实现了 Comparable接口的 android例子。