java 枚举类型与int转换
来源:互联网 发布:模特 李荣浩 知乎 编辑:程序博客网 时间:2024/06/06 07:04
C++中定义枚举的时候可以直接指定枚举项的值,如:"enum {MAX_LENGTH = 255};"。其实Java也可以,今天学到了这种语法。C++的int和枚举互相转换使用强制类型转换即可,但在Java中从int构造Enum需要自己实现(不过如果枚举值从0开始递增就简单了,参考第二段代码)。自定义枚举值代码如下:
enum FruitEnum {
}
public static void main(String[] args) {
}
/////////////////////////////////////////////////////////
如果枚举项的值从0开始递增满足需要的话,那就简单了:
enum MyEnum{
}
public static void main(String[] args) {
}
==========================================================================
对于:
enum Color { RED,BLUE,BLACK YELLOW,GREEN};
Color.RED.ordinal(); //返回结果:0
Color.BLUE.ordinal(); //返回结果:1
(2) compareTo()方法: Enum实现了java.lang.Comparable接口,因此可以比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差。当然,前提是两个枚举值必须属于同一个枚举类,否则会抛出ClassCastException()异常。(具体可见源代码)
Color.RED.compareTo(Color.BLUE); //返回结果 -1
(3) values()方法: 静态方法,返回一个包含全部枚举值的数组。
Color[] colors=Color.values();
for(Color c:colors){
System.out.print(c+",");
}//返回结果:RED,BLUE,BLACK YELLOW,GREEN,
(4) toString()方法: 返回枚举常量的名称。
Color c=Color.RED;
System.out.println(c);//返回结果: RED
(5) valueOf()方法: 这个方法和toString方法是相对应的,返回带指定名称的指定枚举类型的枚举常量。
Color.valueOf("BLUE"); //返回结果: Color.BLUE
(6) equals()方法: 比较两个枚举类对象的引用。
总结:
1. enum<->int
enum
int
2. enum<->String
enum -> String: enumType.name()
String -> enum: enumType.valueOf(name);
- java 枚举类型与int转换
- java int类型与char类型转换
- enum枚举与int string类型之间的相互转换
- C#控制台基础 枚举类型与int,string相互转换
- Java int 与 string类型相互转换
- java enum与int类型的转换
- java Int与String类型转换
- java类型转换:enum与int
- 枚举类型与int类型和string类型之间的转换
- c++ int转换为枚举类型
- java int 类型与 byte 类型之间的转换
- java int 类型与 byte 类型之间的转换
- String与int类型转换
- int与string类型转换
- int与string类型转换
- Java 将byte[] 与int类型互相转换
- JAVA中int与String的类型转换
- Java中int与String类型的互相转换
- iOS UIDatePicker使用
- HDOJ 2001计算两点间的距离
- C++中的get,gets,getline
- poj 2244 约瑟夫环
- 秒杀查看Jar包源码乱码的Eclipse插件 | 逍遥冲
- java 枚举类型与int转换
- unity音频 错误Errors during import of AudioClip Assets/ogg/background 1.ogg:
- Java:sleep、wait、notify、notifyAll
- 算法递归简论
- Android Activity 的二种方式切换动画
- leetcode 45:Jump Game II
- 1024. Palindromic Number (25)
- agiledox产生的输出能直接被商业客户、分析师、测试人员都看懂!
- C语言<string.h>之strtok函数