A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 珊湖礁 中级黑马   /  2013-12-4 22:28  /  1642 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 珊湖礁 于 2013-12-5 09:43 编辑

使用方法覆盖重写toString()的方法,输出各枚举常量的序号、
名称和用户友好名称

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

10 个回复

正序浏览
本帖最后由 王家胜 于 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. }
复制代码
回复 使用道具 举报
同学,你很不错,可以和我老大比一下
回复 使用道具 举报
汪洋大海 发表于 2013-12-4 23:45
同学。你的写法比老张的简单多了。老张用的是if,else if 进行循环判断。或者定义一个抽象方法。用匿名内部 ...

你也是二十八期的,感觉大伙都很有才,鸭梨山大
回复 使用道具 举报
汪洋大海 发表于 2013-12-4 23:48
不清楚参不参加。。我这么菜怎么混呀。。还在看反射的视频呢。

主要是边看边记笔记。看个2遍左右。就Ok了。
回复 使用道具 举报
25343215 发表于 2013-12-4 23:47
你准备参加28期?走到那一步了。

不清楚参不参加。。我这么菜怎么混呀。。还在看反射的视频呢。
回复 使用道具 举报
汪洋大海 发表于 2013-12-4 23:45
同学。你的写法比老张的简单多了。老张用的是if,else if 进行循环判断。或者定义一个抽象方法。用匿名内部 ...

你准备参加28期?走到那一步了。
回复 使用道具 举报
25343215 发表于 2013-12-4 23:18
晕到,我就是正巧,重新看张老师的项目视频,看着和楼主的问题有关,就利用了一下。

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

同学。你的写法比老张的简单多了。老张用的是if,else if 进行循环判断。或者定义一个抽象方法。用匿名内部类的方式进行实现。。
总之,你的回复让我增长了知识。。都记了swich语句了。
谢谢你呀。
回复 使用道具 举报

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

另外说一句,具有面向设计的编程能力,很重要啊!!
回复 使用道具 举报
25343215 发表于 2013-12-4 23:12
下面的代码,可以实现根据枚举名称,动态返回toSring()信息。
建议楼主看看,Java高新技术里面关于枚举的视 ...

大手在民间呀。
回复 使用道具 举报
下面的代码,可以实现根据枚举名称,动态返回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. }
复制代码

评分

参与人数 1黑马币 +1 收起 理由
珊湖礁 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马