下面代码是 corejava8中的实例代码, Size.class有点不懂,我看了枚举里面没有这个变量。谢谢!public class EnumTest
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE) ");
String input = in.next().toUpperCase();
Size size = Enum.valueOf(, input);
System.out.println("size=" + size);
System.out.println("abbreviation=" + size.getAbbreviation());
if (size == Size.EXTRA_LARGE)
System.out.println("Good job--you paid attention to the _.");
}
}
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE) ");
String input = in.next().toUpperCase();
Size size = Enum.valueOf(, input);
System.out.println("size=" + size);
System.out.println("abbreviation=" + size.getAbbreviation());
if (size == Size.EXTRA_LARGE)
System.out.println("Good job--you paid attention to the _.");
}
}
解决方案 »
- 关于线程的问题
- 如何将JTable 设置为不可用,就像JButton一样能够变灰??
- 求java中修改word模板加入新的文本生成新的word文档的方法
- 三个题目,帮忙具体解释一下
- 一个类允许有多个实例,但对于每个不同的实例,如果已经存在,就不能再创建.就好比QQ聊天发送信息的界面,与某好友的聊天窗口若已经打开,双击
- JAVA中有没有响应“操作系统关闭”的监听器?
- 在JSP里我的JavaBean类生成后应该放在TOMCAT的下面的哪个文件夹下面?
- 我用的是jbuilder9,编好java应用程序后,怎样才能使它单独运行于windows上呢?
- 简单问题求助!!!
- 简单的问题
- 还是关于java多线程的问题
- socket局域网传输速度慢的问题
Size size = Enum.valueOf(, input);
漏了个啥。其次,Size 是啥?难道不是枚举么?第三:
if (size == Size.EXTRA_LARGE)
显然Size这个东西是有明确定义滴
* This program demonstrates enumerated types.
* @version 1.0 2004-05-24
* @author Cay Horstmann
*/
public class EnumTest
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter a size: (SMALL, MEDIUM, LARGE, EXTRA_LARGE) ");
String input = in.next().toUpperCase();
Size size = Enum.valueOf(Size.class, input);
System.out.println("size=" + size);
System.out.println("abbreviation=" + size.getAbbreviation());
if (size == Size.EXTRA_LARGE)
System.out.println("Good job--you paid attention to the _.");
}
}enum Size
{
SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL"); private Size(String abbreviation) { this.abbreviation = abbreviation; }
public String getAbbreviation() { return abbreviation; } private String abbreviation;
}枚举中 有Size.class这个吗
参见:
http://www.cnblogs.com/frankliiu-java/archive/2010/12/07/1898721.html
应该改为if (size .equals(Size.EXTRA_LARGE)))
应该改为if (size .equals(Size.EXTRA_LARGE))
一般来说,对象比较确实需要用equals,不过枚举类型可以用==。因为枚举类型类似于享元,都是相同的对象实例。实际上你可以看看 Enum 所重写的equals()函数:
public final boolean equals(Object other) {
return this==other;
}
它们继承了这个Enum中所有方法, values方法在api文档里面为啥找不到呢 谢谢!
http://wenwen.soso.com/z/q273119133.htm