电话:0731-83595998
导航

一种使用RTTI的好方案

来源: 2017-12-19 16:03

  import java.util.*;

  // Generic TypeMap works in any situation:

  class TypeMap {

  private Hashtable t = new Hashtable();

  public void add(Object o) {

  Class type = o.getClass();

  if(t.containsKey(type))

  ((Vector)t.get(type)).addElement(o);

  else {

  Vector v = new Vector();

  v.addElement(o);

  t.put(type,v);

  }

  }

  public Vector get(Class type) {

  return (Vector)t.get(type);

  }

  public Enumeration keys() { return t.keys(); }

  // Returns handle to adapter class to allow

  // callbacks from ParseTrash.fillBin():

  public Fillable filler() {

  // Anonymous inner class:

  return new Fillable() {

  public void addTrash(Trash t) { add(t); }

  };

  }

  }

  public class DynaTrash {

  public static void main(String args) {

  TypeMap bin = new TypeMap();

  ParseTrash.fillBin("Trash.dat",bin.filler());

  Enumeration keys = bin.keys();

  while(keys.hasMoreElements())

  Trash.sumValue(

  bin.get((Class)keys.nextElement()));

  }

  }|||   import java.util.*;

  // Generic TypeMap works in any situation:

  class TypeMap {

  private Hashtable t = new Hashtable();

  public void add(Object o) {

  Class type = o.getClass();

  if(t.containsKey(type))

  ((Vector)t.get(type)).addElement(o);

  else {

  Vector v = new Vector();

  v.addElement(o);

  t.put(type,v);

  }

  }

  public Vector get(Class type) {

  return (Vector)t.get(type);

  }

  public Enumeration keys() { return t.keys(); }

  // Returns handle to adapter class to allow

  // callbacks from ParseTrash.fillBin():

  public Fillable filler() {

  // Anonymous inner class:

  return new Fillable() {

  public void addTrash(Trash t) { add(t); }

  };

  }

  }

  public class DynaTrash {

  public static void main(String args) {

  TypeMap bin = new TypeMap();

  ParseTrash.fillBin("Trash.dat",bin.filler());

  Enumeration keys = bin.keys();

  while(keys.hasMoreElements())

  Trash.sumValue(

  bin.get((Class)keys.nextElement()));

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端