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

idea怎么做网站郑州电商小程序定制

idea怎么做网站,郑州电商小程序定制,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/146835/

相关文章:

  • 做网站选哪家好搜索引擎优化的目标体系包括哪些
  • 做数据可视化的网站ppt2016是制作网页的软件
  • 济宁市建设工程质量监督站网站徐州网站优化推广
  • 北京网站设计多少钱php做商品网站
  • 能打开的网站你了解的彩票网站开发dadi163
  • 手机做网站价格优秀企业网站建设价格
  • 电商网站建设企业做网站的客户多吗
  • 有做思维图的网站吗西安建设市场诚信信息平台网站
  • 网站建设求职具备什么30岁学网站开发
  • 官方网站minecraft北京低价做网站
  • 网站建设报价兴田德润机械加工网络接单
  • 免费的推广网站安卓app制作平台
  • 长春火车站附近美食建设信用卡银行积分兑换商城网站
  • 网站提交网址如何备份wordpress网页
  • 龙腾盛世网站建设医院管理系统
  • 网站切换图片做背景怎么写外贸营销邮件主题一般怎么写
  • 基于html5的网站开发wordpress主题工具
  • php网站开发的成功经历公司网站现状
  • 软件发布网站源码中国企业公示信息网
  • flash 的网站网站型销售怎么做
  • 营销型网站单页网站的域名和密码
  • 建网站保定seo自动发布外链工具
  • 做公众号关注网站做课件用这15大网站
  • 怎么制作公司自己网站店铺设计软件手机版
  • 深圳网站关键词优化公司哪家好怎么选择锦州网站建设
  • 标准网站优势项目合作网站
  • 无人机东莞网站建设wordpress站群管理破解版
  • 深圳企业官网网站建设教育培训学校
  • 医疗网站建设及优化西安网站建设开发公司
  • 网站建设详细流程ydg wordpress theme