首页 > 代码库 > 动手动脑
动手动脑
第一个动手动脑 看老师发的文件,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()方法执行的结果是等价的。
因为 “+”在java中具有连接的意义,所以当加法加入其中容易发生歧义并且产生与预期相不符的结果,如第一条代码。
所以我们要采用第二条代码的表示方法来避免这种错误。
动手动脑
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。