Java 在枚举中使用compareTo
我看过这段代码,但我不确定它是如何与compareTo一起工作的。 有人能告诉我它是如何工作的吗Java 在枚举中使用compareTo,java,enums,compareto,Java,Enums,Compareto,我看过这段代码,但我不确定它是如何与compareTo一起工作的。 有人能告诉我它是如何工作的吗 public enum Test { POTATO("Potato"), TOMATO("Tomato"), CARROT("Carrot") public String Name; private Test(String name) { this.Name = name; } public boolean testF
public enum Test
{
POTATO("Potato"),
TOMATO("Tomato"),
CARROT("Carrot")
public String Name;
private Test(String name) {
this.Name = name;
}
public boolean testFor(Test t)
{
if (compareTo(t) <= 0) {
return true;
}
return false;
}
}
公共枚举测试
{
马铃薯(“马铃薯”),
西红柿(“西红柿”),
胡萝卜(“胡萝卜”)
公共字符串名称;
专用测试(字符串名称){
this.Name=Name;
}
公共布尔testFor(testt)
{
if(compareTo)(t)枚举值按创建顺序进行比较。因此POTATO
小于CARROT
,因为POTATO
的顺序小于CARROT
举几个例子:
Test.POTATO.compareTo(Test.TOMATO); // returns -1, is less
Test.POTATO.compareTo(Test.POTATO); // returns 0, is equal
Test.CARROT.compareTo(Test.POTATO); // returns 2, is bigger
compareTo是Enum抽象类的最终方法
compareTo(EO):将此枚举与指定的对象进行顺序比较。阅读您拥有的示例,它们必须在枚举中,还是可以在任何类中?只要导入测试
,就可以从任何类中调用它们。如果要使用compareTo(T)
在另一个类中,您必须实现Compariable
接口。它允许您为类指定自然顺序。请参阅: