仔细阅读示例:
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");//给u赋值System.out.println(s==u); //true//列出它的所有值for(Size value:Size.values()){ System.out.println(value);}}}
enum Size{SMALL,MEDIUM,LARGE};运行它,分析运行结果。你能得到什么结论?你掌握了枚举类型的基本用法了吗?答:结果为false false true SMALL MEDIUM LARGE。
1、枚举类型是引用类型
2、枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
3、可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。
枚举的基本用法:
1、for(Size value:Size.values()){
System.out.println(value);}对枚举进行遍历,并且找出最大的。
2、Size s=Size.SMALL 从字串转换为枚举
3、System.out.println(s==u)判断s与u是否相同
4、System.out.println()
System.out.println(s); //运行结果:SMALL(枚举直接提供了toString的方法)
System.out.println(s.name());//运行结果:SMALL(打印名字)
System.out.println(s.ordinal());///得到枚举在序列中的位置
System.out.println(s.getClass());//得到枚举类
System.out.println(s.getDeclaringClass());//返回本类的申明处
测试结果位2
以下代码的输出结果是什么?
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
为什么会有这样的输出结果?
X+Y=100200
300=X+Y与算法的优先级有关 ,前者为拼接,后者为算法