第二次作业动手动脑的解答
Posted 世界高度
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二次作业动手动脑的解答相关的知识,希望对你有一定的参考价值。
第一个动手动脑让我看老师发 的文件,EnumTest.java。猜它 的运行结果。
我猜嘛,s和 t肯定引用的不同对象,老师上课也讲过是吧。
falsefalsetrueSMALLMEDIUMLARGE
public class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t); //
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size{SMALL,MEDIUM,LARGE};
因为 “+”在java中具有连接的意义,所以当加法加入其中容易发生歧义并且产生与预期相不符的结果,如第一条代码。
所以我们要采用第二条代码的表示方法来避免这种错误。
2.仔细阅读示例: EnumTest.java,运行它,分析运行结果
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。
以上是关于第二次作业动手动脑的解答的主要内容,如果未能解决你的问题,请参考以下文章