如何使用枚举来确定两个东西是否相等,然后返回一个相关的值

时间:2016-10-19 05:18:11

标签: java enums enumeration

所以我真的不知道如何在标题中说出这一点。我正在研究一个读取代码的程序,然后通过将它们放在链表中来返回是否所有括号符号都是平衡的。如果不平衡,它将返回不匹配,符号预期,符号读取。

这是我的枚举代码:

public enum bracketsEnum {
  parenthesis('(',')'),
  square('[',']'),
  curly('{','}');

private final char open,close;

bracketsEnum( char _open, char _close){
    open=_open;
    close=_close;
}
public char getOpen(){
    return open;
}
public char getClose(){
        return close;
}
}

我想让程序检查当前字符是否是枚举的一部分,如果它与其他设置符号匹配,如果不匹配,则返回预期符号。

我已经找到了列表部分,以及如何对符号进行排序和检查。但是,我很沮丧,因为我不知道从哪里开始。我发现的所有enum教程都很模糊,我开始怀疑使用枚举是否真的是一个好主意。

另外,在这种情况下使用枚举是一个好主意吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

Enum附带方法public final int compareTo(E o),您可以在其中与枚举进行比较。

如果您不想比较枚举,那么您可以在枚举中编写自己的menthod进行比较并调用此方法。

枚举也具有所有对象属性。

public enum bracketsEnum {
parenthesis('(',')'),
square('[',']'),
curly('{','}');

private final char open,close;

bracketsEnum( char _open, char _close){
open=_open;
close=_close;
}
public char getOpen(){
   return open;
}
public char getClose(){
    return close;
}
//Write your own comparision logic method here

}