I want to put the special characters, the parentheses ( \'(\' and \')\' ) and the apostrophe (\'), in an enum.
I had this:
private enum specialChars{
You could do something like this:
private enum SpecialChars{
COMMA(","),
APOSTROPHE("'"),
OPEN_PAREN("("),
CLOSE_PAREN(")");
private String value;
private SpecialChars(String value)
{
this.value = value;
}
public String toString()
{
return this.value; //will return , or ' instead of COMMA or APOSTROPHE
}
}
Example use:
public static void main(String[] args)
{
String line = //..read a line from STDIN
//check for special characters
if(line.equals(SpecialChars.COMMA)
|| line.equals(SpecialChars.APOSTROPHE)
|| line.equals(SpecialChars.OPEN_PAREN)
|| line.equals(SpecialChars.CLOSE_PAREN)
) {
//do something for the special chars
}
}
You should use something like this instead:
private enum SpecialChars {
LEFT_BRACKET('('),
RIGHT_BRACKET(')'),
QUOTE('\'');
char c;
SpecialChars(char c) {
this.c = c;
}
public char getChar() {
return c;
}
}
Enum constants must be valid Java identifiers. You can override toString
if you would like them displayed differently.
public enum SpecialChars {
OPEN_PAREN {
public String toString() {
return "(";
}
},
CLOSE_PAREN {
public String toString() {
return ")";
}
},
QUOTE {
public String toString() {
return "'";
}
}
}