第二次作业动手动脑的解答

第一个动手动脑让我看老师发 的文件,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()方法执行的结果是等价的。

 

转载于:https://www.cnblogs.com/Zf451452043/p/5936667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值