java emun 的别样用法,可以学习下,
package com.zwc.www.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class OperateEnum {
//first emun
enum PeopleTypeOne{RED,YELLOW,BLACK};
//second emun
public enum PeopleTypeTwo{
RED("a","#111111"),
YELLOW("b","#222222"),
BLACK("c","#333333");
private String value1;
注意:这里的定义可以定义为final 完全可以编译通过,可以运行,好像这是java的一个bug
private String value2;
注意这里的构造方法,应该与你上面的定义,保持一致,
还有:不能定义为public ,只能是默认的权限,或者是private
PeopleTypeTwo(String value1,String value2){
this.value1 = value1;
this.value2 = value2;
}
注意:这里的方法的定义,完全是为了程序外面的访问,如下面main函数的调用,
这里,其实完全可以用一个get方法,直接返回对应的值,如 #222222 ,但是为了测试这里是否支持map,所以,就用了map,下面的例子,也调用了map,具体可以,参考下面的代码,
public Map<String,String> getMap(){
Map<String,String> map = new HashMap<String,String>();
map.put(this.value1, this.value2);
return map;
}
}
public static void main(String[] args) {
//first emun
PeopleTypeOne p1 = PeopleTypeOne.BLACK;
System.out.println("tradition:" + (p1.ordinal() + 1));
//second emun
PeopleTypeTwo p2 = PeopleTypeTwo.RED;
Map<String,String> map = p2.getMap();
Iterator<String> i = p2.getMap().keySet().iterator();
while(i.hasNext()){
String key = i.next();
String value = map.get(key);
System.out.println("key=" + key + " value=" + value);
}
}
}
相关文档:
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
下面的谜题以及随后的五个谜题对你来说是扭转了局面,它们不是向你展示某些代码,然后询问你这些代码将做些什么,它们要让你去写代码,但是数量会很少。这些谜题被称为“循环者(looper)”。你眼前会展示出一个循环,它看起来应该很快就终止的,而你的任务就是写一个变量声明,在将它作用于该循环之上时,使得该 ......
请提供一个对i的声明,将下面的循环转变为一个无限循环:
while (i != i) {
}
这个循环可能比前一个还要使人感到困惑。不管在它前面作何种声明,它看起来确实应该立即终止。一个数字总是等于它自己,对吗?
对,但是IEEE 754浮点算术保留了一个特殊的值用来表示一个不是数字的数量[IEEE 754]。这个值就是NaN(“ ......
下面的程序在模仿一个简单的时钟。它的循环变量表示一个毫秒计数器,其计数值从0开始直至一小时中包含的毫秒数。循环体以定期的时间间隔对一个分钟计数器执行增量操作。最后,该程序将打印分钟计数器。那么它会打印出什么呢?
public class Clock {
public static void main(String[] args) {
int minutes ......
首先来个简单那的实例:
package cn.vicky;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer {
private int i = 1;
private void change(long time){
System.out.println("one : " + i);
final Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Overrid ......