快速业务通道

Classworking工具箱: 分析泛型数据结构 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
'['');        }        // get the actual type description        if (m_className == null) {          buff.append(m_baseClass);          return getTypeInstance(buff.toString());        } else {          // construct both descriptor and full signature for type          buff.append(''L'');          buff.append(m_className);          if (m_parameterTypes.size() > 0) {            buff.append(''<'');            for (int i = 0; i < m_parameterTypes.size(); i++) {              TypeDescription pdesc = m_parameterTypes.get(i);              if (pdesc == null) {                buff.append(''*'');              } else {                buff.append(pdesc.getDescriptor());              }            }            buff.append(''>'');          }          buff.append('';'');          // get actual class description          if (m_parameterTypes.size() == 0) {            return getTypeInstance(buff.toString());          } else {            TypeDescription[] ptypes =              new TypeDescription[m_parameterTypes.size()];            ptypes = m_parameterTypes.toArray(ptypes);            return getSignatureInstance(buff.toString(), ptypes);          }        }      }    }    ... } public class GenericTemplate {    private final String m_descriptor;    private final String m_baseName;    private final TypeDirectory m_typeDirectory;    private final FieldDescription[] m_genericFields;    private final String[] m_typeParameters;    private final TypeDescription[] m_upperBounds;    protected GenericTemplate(String dtor, byte[] byts, TypeDirectory dir) {      m_descriptor = dtor;      m_baseName = BinaryClassLoader.nameFromDescriptor(dtor);      m_typeDirectory = dir;      dir.addTemplate(this);      DescriptionBuilderVisitor vtor = new DescriptionBuilderVisitor(dir);      ClassReader creader = new ClassReader(byts);      creader.accept(vtor, true);      m_genericFields = vtor.getFields();      m_typeParameters = vtor.getTypeParameters();      m_upperBounds = vtor.getUpperBounds();    }    public String getDescriptor() {      return m_descriptor;    }    public boolean equals(Object obj) {      if (obj == this) {        return true;      } else if (obj instanceof GenericTemplate) {        return m_descriptor.equals(((GenericTemplate)obj).m_descriptor);      } else {        return false;      }    }    public int hashCode() {      return m_descriptor.hashCode();    }    /**     * Get description for parameter

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号