zoukankan      html  css  js  c++  java
  • 动手动脑

    第一个动手动脑  看老师发的文件,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中具有连接的意义,所以当加法加入其中容易发生歧义并且产生与预期相不符的结果,如第一条代码。

        所以我们要采用第二条代码的表示方法来避免这种错误。

       

  • 相关阅读:
    EF支持的注解
    c#数组去重复超级简单
    终于开通博客了。
    理解C#中参数
    一般处理程序中session问题
    小菜的面试所感
    为IOS生成opencv framework时遇到的2个问题
    纯真IP地址数据库qqwry.dat解析
    scala纯函数式编程-排序算法实现
    跳跃列表原理和实现
  • 原文地址:https://www.cnblogs.com/xc166/p/5937142.html
Copyright © 2011-2022 走看看