当前位置: 首页 > news >正文

企业如何建设网站seo公司

企业如何建设网站,seo公司,云南信息发布平台,wordpress 友情链接 代码文章目录Type简介Type分类1. 原始类型(Class)2. 参数化类型(ParameterizedType)3. 类型变量(TypeVariable)4. 通配符类型(WildcardType)5. 泛型数组类型(GenericArrayType)Type简介 Type是Java编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型… 文章目录Type简介Type分类1. 原始类型(Class)2. 参数化类型(ParameterizedType)3. 类型变量(TypeVariable)4. 通配符类型(WildcardType)5. 泛型数组类型(GenericArrayType)Type简介 Type是Java编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。 Type接口本身算是一个标记接口不提供任何需要复写的方法。 Type分类 Type分类 Type分类名称Type类型描述举例原始类型ClassJava类、枚举、数组、注解、所有基本数据类型String、Date、Integer、int、boolean 等参数化类型ParameterizedType参数化类型泛型类型ListString、MapInteger,String、ListT、List?、List? extends Number、List? super Number 等类型变量TypeVariable泛型符号不包括通配符T、K、V、E 等通配符类型WildcardType通配符?、? extends Number、? super Number 等泛型数组类型GenericArrayType泛型数组List?[]、ListT[]、ListString[]、List? extends Number[]、T[] 等 获取Type JDK的Class、Field、Method类提供了一些列的获取类型的相关方法。 可参考文章Java中如何获取泛型类型信息 1. 原始类型(Class) 原始类型的Type实现类为Class。这个类型与泛型无关其它4个类型都和泛型相关。 原始类型主要包括Java类、枚举、数组、注解、所有基本数据类型。 示例 public class TypeTest {private String string;private Integer integer;private long lon;private int[] intArr;public static void main(String[] args) throws Exception {System.out.println(TypeTest.class.getDeclaredField(string).getGenericType() instanceof Class ? String是原始类型 : String不是原始类型);System.out.println(TypeTest.class.getDeclaredField(integer).getGenericType() instanceof Class ? Integer是原始类型 : Integer不是原始类型);System.out.println(TypeTest.class.getDeclaredField(lon).getGenericType() instanceof Class ? long是原始类型 : long不是原始类型);System.out.println(TypeTest.class.getDeclaredField(intArr).getGenericType() instanceof Class ? int[]是原始类型 : int[]不是原始类型);} }输出 String是原始类型 Integer是原始类型 long是原始类型 int[]是原始类型2. 参数化类型(ParameterizedType) 参数化类型的Type实现类为ParameterizedType。 参数化类型也就是泛型类型。 源码 public interface ParameterizedType extends Type {Type[] getActualTypeArguments();Type getRawType();Type getOwnerType(); }方法 getActualTypeArguments获取实际类型参数的Type集合getRawType获取声明此类型的类或接口的TypegetOwnerType如果声明此类型的类或接口为内部类这返回的是该内部类的外部类的Type也就是该内部类的拥有者 示例 public class TypeTestT {private MapInteger,String map;private ListString list1;private ListT list2;private List? list3;private List? extends Number list4;public static void main(String[] args) throws Exception {System.out.println(TypeTest.class.getDeclaredField(map).getGenericType() instanceof ParameterizedType ? MapInteger,String是参数化类型 : MapInteger,String不是参数化类型);System.out.println(TypeTest.class.getDeclaredField(list1).getGenericType() instanceof ParameterizedType ? ListString是参数化类型 : ListString不是参数化类型);System.out.println(TypeTest.class.getDeclaredField(list2).getGenericType() instanceof ParameterizedType ? ListT是参数化类型 : ListT不是参数化类型);System.out.println(TypeTest.class.getDeclaredField(list3).getGenericType() instanceof ParameterizedType ? List?是参数化类型 : List?不是参数化类型);System.out.println(TypeTest.class.getDeclaredField(list4).getGenericType() instanceof ParameterizedType ? List? extends Number是参数化类型 : List? extends Number不是参数化类型);System.out.println(-----------------------------------------------------------);ParameterizedType parameterizedType (ParameterizedType) TypeTest.class.getDeclaredField(map).getGenericType();for (Type actualTypeArgument : parameterizedType.getActualTypeArguments()) {System.out.println(getActualTypeArguments 方法返回值有 actualTypeArgument.getTypeName());}System.out.println(getRawType 方法返回值 parameterizedType.getRawType().getTypeName());System.out.println(getOwnerType 方法返回值 (parameterizedType.getOwnerType() ! null ? parameterizedType.getOwnerType().getTypeName() : null));} }输出 MapInteger,String是参数化类型 ListString是参数化类型 ListT是参数化类型 List?是参数化类型 List? extends Number是参数化类型 ----------------------------------------------------------- getActualTypeArguments 方法返回值有java.lang.Integer getActualTypeArguments 方法返回值有java.lang.String getRawType 方法返回值java.util.Map getOwnerType 方法返回值null3. 类型变量(TypeVariable) 类型变量的Type实现类为TypeVariable。 类型变量急速指的泛型符号不包括通配符。 源码 public interface TypeVariableD extends GenericDeclaration extends Type, AnnotatedElement {Type[] getBounds();D getGenericDeclaration();String getName();AnnotatedType[] getAnnotatedBounds(); }方法 getBounds类型变量对应的上边界。如果没有指定上限返回Object可以有多个getGenericDeclaration获取类型变量所在类的Type。getName获取类型变量在源码中定义的名称getAnnotatedBounds获取注解类型的上限数组 示例 public class TypeTestT {private ListT list2;private List? list3;private List? extends Number list4;public static void main(String[] args) throws Exception {System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list2).getGenericType()).getActualTypeArguments()[0] instanceof TypeVariable ? T是类型变量 : T不是类型变量);System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list3).getGenericType()).getActualTypeArguments()[0] instanceof TypeVariable ? ?是类型变量 : ?不是类型变量);System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list4).getGenericType()).getActualTypeArguments()[0] instanceof TypeVariable ? ? extends Number是类型变量 : ? extends Number不是类型变量);System.out.println(---------------------------------------------------------------);TypeVariable typeVariable (TypeVariable)((ParameterizedType) TypeTest.class.getDeclaredField(list2).getGenericType()).getActualTypeArguments()[0];for (Type bound : typeVariable.getBounds()) {System.out.println(getBounds 方法返回值有 bound.getTypeName());}System.out.println(getGenericDeclaration 方法返回值 typeVariable.getGenericDeclaration());System.out.println(getName 方法返回值 typeVariable.getName());for (AnnotatedType annotatedType : typeVariable.getAnnotatedBounds()) {System.out.println(getAnnotatedBounds 方法返回值有 annotatedType.getType().getTypeName());}} }输出 T是类型变量 ?不是类型变量 ? extends Number不是类型变量 --------------------------------------------------------------- getBounds 方法返回值有java.lang.Object getGenericDeclaration 方法返回值class com.joker.test.generic.TypeTest getName 方法返回值T getAnnotatedBounds 方法返回值有java.lang.Object4. 通配符类型(WildcardType) 通配符类型的Type实现类为WildcardType。 源码 public interface WildcardType extends Type {Type[] getUpperBounds();Type[] getLowerBounds(); } 方法 getUpperBounds泛型表达式的上边界表达式中使用extendsgetLowerBounds泛型表达式的下边界表达式中使用super 示例 public class TypeTestT {private ListT list2;private List? list3;private List? extends Number list4;private List? super Number list5;public static void main(String[] args) throws Exception {System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list2).getGenericType()).getActualTypeArguments()[0] instanceof WildcardType ? T是通配符类型 : T不是通配符类型);System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list3).getGenericType()).getActualTypeArguments()[0] instanceof WildcardType ? ?是通配符类型 : ?不是通配符类型);System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list4).getGenericType()).getActualTypeArguments()[0] instanceof WildcardType ? ? extends Number是通配符类型 : ? extends Number不是通配符类型);System.out.println(((ParameterizedType)TypeTest.class.getDeclaredField(list5).getGenericType()).getActualTypeArguments()[0] instanceof WildcardType ? ? super Number是通配符类型 : ? super Number不是通配符类型);System.out.println(-----------------------------------------------);WildcardType wildcardType1 (WildcardType)((ParameterizedType) TypeTest.class.getDeclaredField(list4).getGenericType()).getActualTypeArguments()[0];System.out.println(List? extends Number 上边界wildcardType1.getUpperBounds()[0].getTypeName());WildcardType wildcardType2 (WildcardType)((ParameterizedType) TypeTest.class.getDeclaredField(list5).getGenericType()).getActualTypeArguments()[0];System.out.println(List? super Number 上边界wildcardType2.getUpperBounds()[0].getTypeName());System.out.println(List? super Number 下边界wildcardType2.getLowerBounds()[0].getTypeName());} }输出 T不是通配符类型 ?是通配符类型 ? extends Number是通配符类型 ? super Number是通配符类型 ----------------------------------------------- List? extends Number 上边界java.lang.Number List? super Number 上边界java.lang.Object List? super Number 下边界java.lang.Number5. 泛型数组类型(GenericArrayType) 泛型数组类型的Type实现类为GenericArrayType。 注意普通类型的数组不属于泛型数组类型如int[]、Long[]、String[]。 源码 public interface GenericArrayType extends Type {Type getGenericComponentType(); }方法 getGenericComponentType返回泛型数组中成员类型 示例 public class TypeTestT {private String[] list;private ListString[] list1;private ListT[] list2;private List?[] list3;private List? extends Number[] list4;private T[] list5;public static void main(String[] args) throws Exception {System.out.println(TypeTest.class.getDeclaredField(list).getGenericType() instanceof GenericArrayType ? String[]是泛型数组类型 : String[]不是泛型数组类型);System.out.println(TypeTest.class.getDeclaredField(list1).getGenericType() instanceof GenericArrayType ? ListString[]是泛型数组类型 : ListString[]不是泛型数组类型);System.out.println(TypeTest.class.getDeclaredField(list2).getGenericType() instanceof GenericArrayType ? ListT[]是泛型数组类型 : ListT[]不是泛型数组类型);System.out.println(TypeTest.class.getDeclaredField(list3).getGenericType() instanceof GenericArrayType ? List?[]是泛型数组类型 : List?[]不是泛型数组类型);System.out.println(TypeTest.class.getDeclaredField(list4).getGenericType() instanceof GenericArrayType ? List? extends Number[]是泛型数组类型 : List? extends Number[]不是泛型数组类型);System.out.println(TypeTest.class.getDeclaredField(list5).getGenericType() instanceof GenericArrayType ? T[]是泛型数组类型 : T[]不是泛型数组类型);System.out.println(------------------------------------------------------);System.out.println(ListString[] 数组成员类型((GenericArrayType) TypeTest.class.getDeclaredField(list1).getGenericType()).getGenericComponentType().getTypeName());System.out.println(ListT[] 数组成员类型((GenericArrayType) TypeTest.class.getDeclaredField(list2).getGenericType()).getGenericComponentType().getTypeName());System.out.println(List?[] 数组成员类型((GenericArrayType) TypeTest.class.getDeclaredField(list3).getGenericType()).getGenericComponentType().getTypeName());System.out.println(List? extends Number[] 数组成员类型((GenericArrayType) TypeTest.class.getDeclaredField(list4).getGenericType()).getGenericComponentType().getTypeName());System.out.println(T[] 数组成员类型((GenericArrayType) TypeTest.class.getDeclaredField(list5).getGenericType()).getGenericComponentType().getTypeName());} }输出 String[]不是泛型数组类型 ListString[]是泛型数组类型 ListT[]是泛型数组类型 List?[]是泛型数组类型 List? extends Number[]是泛型数组类型 T[]是泛型数组类型 ------------------------------------------------------ ListString[] 数组成员类型java.util.Listjava.lang.String ListT[] 数组成员类型java.util.ListT List?[] 数组成员类型java.util.List? List? extends Number[] 数组成员类型java.util.List? extends java.lang.Number T[] 数组成员类型T
http://www.w-s-a.com/news/568945/

相关文章:

  • 中国建设银行官网首页网站wordpress小工具不能完全显示
  • 企业网站的开发流程是什么网站开发怎么销售
  • 现在网站还用asp做男科医院哪家好一些
  • 服装设计网站素材郑州汉狮做网站网络公司
  • 宜州做网站做仿制网站
  • 中山营销型网站厦门工程建设招聘信息网站
  • 网站开发 外包空心找回微信
  • 长沙市网站推广多少钱网站开发流程图和介绍
  • 网站后缀net施工企业自建自用的工程可以不进行招标是否正确
  • 鄂尔多斯市住房和城乡建设厅网站帮别人做网站赚钱6
  • 宜选科技就是帮人做网站动漫制作专业主修课程
  • 怎么做网站免费的教程温州捷创网站建设
  • 做免费推广的网站有哪些深圳华强北最新消息
  • 电子商务网站建设规划开题报告桂林漓江景区游玩攻略
  • 程序员参与洗钱网站建设做视频网站需要多少钱
  • 网站建设背景是什么企业邮箱怎么写
  • 山东省建设资格中心网站iis wordpress安装教程
  • 做的网站 显示乱码怎么做微信小程序平台
  • 怎样建设打字网站怎样增加网站浏览量
  • 网站建设方案的征求意见网站主机免备案
  • 共享农业网站建设郑州市建网站
  • 成都网站建设四川冠辰网站建设带会员系统的网站模板
  • 水果网站建设方案书wordpress get_the_category
  • 第一ppt网站官网买域名价格
  • 网站 报价单自己做的网站如何上传
  • 天津网站建立辽宁建设工程信息网2017年定额人工费系数
  • 柳州网站优化搜索引擎优化方法案例
  • 什么网站比较少人做响应式网站开发周期
  • 公司网站欢迎语工作期间员工花钱做的网站
  • 新网站该如何做网站优化呢网络营销网站设计