/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
interface I {}
enum Hoge implements I {
FOO,
BAR {
@Override
return "bar";
}
}
}
public static void main
(String[] args
) { log(Hoge.FOO);
log(Hoge.BAR);
log(new I(){});
}
static void log(I constant) {
boolean isEnum = constant instanceof Enum;
Class<?> clazz = isEnum ? ((Enum<?>)constant).getDeclaringClass() : constant.getClass();
String fqcn
= clazz.
getName();
System.
out.
printf("%s: class=%s, enum=%s%n", constant, fqcn, isEnum
); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCWludGVyZmFjZSBJIHt9CiAgICBlbnVtIEhvZ2UgaW1wbGVtZW50cyBJIHsKCiAgICAgICAgRk9PLAoKICAgICAgICBCQVIgewogICAgICAgICAgICBAT3ZlcnJpZGUKICAgICAgICAgICAgcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKICAgICAgICAgICAgICAgIHJldHVybiAiYmFyIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgbG9nKEhvZ2UuRk9PKTsKICAgICAgICBsb2coSG9nZS5CQVIpOwogICAgICAgIGxvZyhuZXcgSSgpe30pOwogICAgfQoKICAgIHN0YXRpYyB2b2lkIGxvZyhJIGNvbnN0YW50KSB7CgogICAgICAgIGJvb2xlYW4gaXNFbnVtID0gY29uc3RhbnQgaW5zdGFuY2VvZiBFbnVtOwoKCQlDbGFzczw/PiBjbGF6eiA9IGlzRW51bSA/ICgoRW51bTw/Piljb25zdGFudCkuZ2V0RGVjbGFyaW5nQ2xhc3MoKSA6IGNvbnN0YW50LmdldENsYXNzKCk7CiAgICAgICAgU3RyaW5nIGZxY24gPSBjbGF6ei5nZXROYW1lKCk7CiAgICAgICAgCiAgICAgICAgU3lzdGVtLm91dC5wcmludGYoIiVzOiBjbGFzcz0lcywgZW51bT0lcyVuIiwgY29uc3RhbnQsIGZxY24sIGlzRW51bSk7CiAgICB9Cn0=