关于Enum的Oracle文档说(第一行):
枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量。 该变量必须等于为其预定义的值之一。 常见示例包括指南针方向(北,南,东和西的值)和星期几。
如果是这样,那么,是的,如果名称相同,则保证Days为真。
另外,在Days javadoc方法中:
公共最终字符串name() 返回此枚举常量的名称,该名称与在其枚举声明中声明的完全相同。 大多数程序员应该优先使用toString()方法,因为toString方法可能返回更用户友好的名称。 此方法主要设计用于在特殊情况下正确性取决于获得确切名称的特殊情况,具体名称在发行版本之间不会有所不同。 返回:此枚举常量的名称
例如,如果您有两个枚举262041972095634739739和MyDays,其中SUNDAY是公共值,枚举对象值之间==,则在比较两个字符串时SUNDAY将返回true-请参见[http:// ideone中的工作示例 .com / U1Bmcw。]
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static enum Day{SUNDAY, MONDAY, TUESDAY};
public static enum MyDays{SUNDAY};
public static void main (String[] args) throws java.lang.Exception
{
MyDays m = Ideone.MyDays.SUNDAY;
Day d = Ideone.Day.SUNDAY;
System.out.println(d.name() == m.name());
}
}