jvm/classes/java/lang/Enum.java
2025-01-19 04:34:43 -06:00

59 lines
1.2 KiB
Java

package java.lang;
public abstract class Enum<E extends Enum<E>>
implements Comparable<E> {
final String name;
final int ordinal;
protected Enum(String name,
int ordinal) {
this.name = name;
this.ordinal = ordinal;
}
protected final Object clone()
throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
public final int compareTo(E o) {
if (getDeclaringClass() != o.getDeclaringClass())
throw new ClassCastException();
return ordinal - o.ordinal;
}
public final boolean equals(Object other) {
return this == other;
}
public final Class<E> getDeclaringClass() {
Class c = getClass();
if (c.getSuperclass() != Enum.class)
c = c.getSuperclass();
return c;
}
public final int hashCode() {
return ordinal;
}
public final String name() {
return name;
}
public final int ordinal() {
return ordinal;
}
public String toString() {
return name;
}
public static <T extends Enum<T>> T valueOf(Class<T> enumType,
String name) {
return null;
}
}