黑马程序员技术交流社区

标题: java枚举 [打印本页]

作者: 珊湖礁    时间: 2013-12-4 22:28
标题: java枚举
本帖最后由 珊湖礁 于 2013-12-5 09:43 编辑

使用方法覆盖重写toString()的方法,输出各枚举常量的序号、
名称和用户友好名称
作者: 25343215    时间: 2013-12-4 23:12
下面的代码,可以实现根据枚举名称,动态返回toSring()信息。
建议楼主看看,Java高新技术里面关于枚举的视频。
  1. public enum CustomerType {

  2.         COMMON, EXPRESS, VIP;

  3.         public String toString() {

  4.                 switch (this) {
  5.                 case COMMON:
  6.                         return "普通";
  7.                 case EXPRESS:
  8.                         return "快速";
  9.                 case VIP:
  10.                         return "贵宾";
  11.                 }
  12.                 return "error";
  13.         }
  14. }
复制代码

作者: 汪洋大海    时间: 2013-12-4 23:16
25343215 发表于 2013-12-4 23:12
下面的代码,可以实现根据枚举名称,动态返回toSring()信息。
建议楼主看看,Java高新技术里面关于枚举的视 ...

大手在民间呀。
作者: 25343215    时间: 2013-12-4 23:18
汪洋大海 发表于 2013-12-4 23:16
大手在民间呀。

晕到,我就是正巧,重新看张老师的项目视频,看着和楼主的问题有关,就利用了一下。

另外说一句,具有面向设计的编程能力,很重要啊!!
作者: 汪洋大海    时间: 2013-12-4 23:45
25343215 发表于 2013-12-4 23:18
晕到,我就是正巧,重新看张老师的项目视频,看着和楼主的问题有关,就利用了一下。

另外说一句,具有面 ...

同学。你的写法比老张的简单多了。老张用的是if,else if 进行循环判断。或者定义一个抽象方法。用匿名内部类的方式进行实现。。
总之,你的回复让我增长了知识。。都记了swich语句了。
谢谢你呀。
作者: 25343215    时间: 2013-12-4 23:47
汪洋大海 发表于 2013-12-4 23:45
同学。你的写法比老张的简单多了。老张用的是if,else if 进行循环判断。或者定义一个抽象方法。用匿名内部 ...

你准备参加28期?走到那一步了。
作者: 汪洋大海    时间: 2013-12-4 23:48
25343215 发表于 2013-12-4 23:47
你准备参加28期?走到那一步了。

不清楚参不参加。。我这么菜怎么混呀。。还在看反射的视频呢。
作者: 25343215    时间: 2013-12-4 23:53
汪洋大海 发表于 2013-12-4 23:48
不清楚参不参加。。我这么菜怎么混呀。。还在看反射的视频呢。

主要是边看边记笔记。看个2遍左右。就Ok了。
作者: 珊湖礁    时间: 2013-12-5 10:03
汪洋大海 发表于 2013-12-4 23:45
同学。你的写法比老张的简单多了。老张用的是if,else if 进行循环判断。或者定义一个抽象方法。用匿名内部 ...

你也是二十八期的,感觉大伙都很有才,鸭梨山大
作者: 珊湖礁    时间: 2013-12-5 10:07
同学,你很不错,可以和我老大比一下
作者: 王家胜    时间: 2013-12-6 12:57
本帖最后由 王家胜 于 2013-12-6 13:05 编辑
  1. enum Ps
  2. {
  3.          COMMON, EXPRESS, VIP,SHow(new Long(4),Ps.VIP,"战三");
  4.          int arg=0;
  5.          private Long id;
  6.          private Ps ps;
  7.          private String name;
  8.          private Ps()
  9.          {
  10.                  arg=0;
  11.          }
  12.          private Ps(Long id,Ps ps,String name)
  13.          {
  14.                  arg=3;
  15.                  this.id=id;
  16.                  this.ps=ps;
  17.                  this.name=name;
  18.          }
  19.     public String toString()
  20.     {
  21.             if(arg==0)
  22.             {
  23.                     return super.toString();
  24.             }
  25.             if(arg==3)
  26.             return show();
  27.             else
  28.                     return "未定义";
  29.     }
  30.     public String show()
  31.     {
  32.         return "序号:"+Ps.valueOf(Ps.class, ps.toString()).ordinal()+ "\t编号:"+this.id+"\t类型:"+this.ps +"\t名称:"+this.name+"\n";
  33.     }
  34. }
  35. public class MainStart
  36. {
  37.         public static void main(String[] args)
  38.         {
  39.                 Ps ps=Ps.SHow;
  40.                 System.out.println(ps);
  41.                
  42.         }
  43. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2