易截截图软件、单文件、免安装、纯绿色、仅160KB

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);
  }
 }
}


相关文档:

Java中集合容器类List和Set的用法

List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1  List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......

Java解惑2 28循环者

下面的谜题以及随后的五个谜题对你来说是扭转了局面,它们不是向你展示某些代码,然后询问你这些代码将做些什么,它们要让你去写代码,但是数量会很少。这些谜题被称为“循环者(looper)”。你眼前会展示出一个循环,它看起来应该很快就终止的,而你的任务就是写一个变量声明,在将它作用于该循环之上时,使得该 ......

Java解惑3 29循环者的新娘

请提供一个对i的声明,将下面的循环转变为一个无限循环:
while (i != i) {
}
这个循环可能比前一个还要使人感到困惑。不管在它前面作何种声明,它看起来确实应该立即终止。一个数字总是等于它自己,对吗?
对,但是IEEE 754浮点算术保留了一个特殊的值用来表示一个不是数字的数量[IEEE 754]。这个值就是NaN(“ ......

Java解惑3 35一分钟又一分钟

下面的程序在模仿一个简单的时钟。它的循环变量表示一个毫秒计数器,其计数值从0开始直至一小时中包含的毫秒数。循环体以定期的时间间隔对一个分钟计数器执行增量操作。最后,该程序将打印分钟计数器。那么它会打印出什么呢?
public class Clock {
public static void main(String[] args) {
int minutes ......

Java Timer 对象创建后使用Timer更改其属性!!!

首先来个简单那的实例:
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 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号