reifiable type与raw type

下面的逻辑需要明白如下两个概念:  

4.7. Reifiable Types

4.8. Raw Types 

举几个是Reifiable Types的例子,如下:

class A{}
class B<T>{}
class C<T>{
    class D<X>{

    }
}

class TestType{
    public void test(){
        //It refers to a non-generic class or interface type declaration.
        A a;
        // It is a parameterized type in which all type arguments are unbounded wildcards
        B<?> b;
        // It is a primitive type
        int c;
        // It is an array type (§10.1) whose element type is reifiable.
        int[] d;
        // It is a nested type where, for each type T separated by a ".",
        // T itself is reifiable.
        C<?>.D<?> e;
        // It is a raw type
    }
}

举几个是Raw Types的例子,如下:

class A{}
class B<T>{}
class C<T>{
    class D<X>{

    }
    class E{
        T e;
    }
}

class TestType{
    public void test(){
        // A non-generic class or interface type is not a raw type.
        A a;
        // The reference type that is formed by taking the name of
         // a generic type declaration
        // without an accompanying type argument list.
        B b;
        // An array type whose element type is a raw type.
        B[] c;
        // A non-static member type of a raw type R that is not inherited
        // from a superclass or superinterface of R
        C.D d;
        C.E e;
    }
}  

  

  

原文地址:https://www.cnblogs.com/extjs4/p/9209276.html

时间: 2024-10-11 16:07:20

reifiable type与raw type的相关文章

Type.MakeGenericType 方法 (Type[]) 泛型反射

替代由当前泛型类型定义的类型参数组成的类型数组的元素,并返回表示结果构造类型的 Type 对象. 命名空间:   System程序集:  mscorlib(mscorlib.dll 中) public virtual Type MakeGenericType( params Type[] typeArguments ) 参数typeArguments将代替当前泛型类型的类型参数的类型数组. 返回值Type: System.TypeType 表示的构造类型通过以下方式形成:用 typeArgume

input[type=&#39;submit&#39;]input[type=&#39;button&#39;]button等按钮在低版本的IE下面,去掉黑色边框的问题

今天做一个tabs效果的时候,发现上面的button在低版本下会出现黑色的边框,很难看,于是我整理了下几个去掉黑色边框的办法: 1.在button的外层嵌套一个div,设置button的border:none; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <st

Hibernate中value type与entity type

在Hibernate框架中,为了更好的配合数据库,将类型分为value type和entity type. entity type特征 1.有identifier(标识符)作为类对象的唯一标识. 2.一般可以被解析为一张table(表). 3.通过identifier(标识符)可以被引用. value type特征 1.无identifier(标识符),每一个类对象都是唯一的. 2.不会被解析成一张表. 3.不会被引用,value type会被存储在entity type中. 附上Hiberna

type和create type

type和create type 异同点:      create type 可在库中生成一个长期有效的自定义类型对象,而type作用域仅限于语句块中:      两者都可以自定义数据类型: 各种type实例: --[create type]***************************************************************** --①简单 type _object-------------------------------------- create

action之间传参为中文;type=&#39;redirect&#39;和 type=&#39;redirectAction&#39;主要区别

摘录自:http://blog.csdn.net/lhi705/article/details/7446156 [html] view plain copy print? Struts2中action之间传参中文乱码的问题 解决方法一(已经验证,可以): 两个action都定义要传的参数属性的get和set方法,必须相同! 在struts.xml中定义: <result name="input" type="redirect"> <param na

swift 中Value Type VS Class Type

ios 中Value Type 和 Class Type 有哪些异同点,这个问题是在微信的公共帐号中看到的,觉得挺有意思,这里梳理一下. 1.swift 中为什么要设置值类型? 值类型在参数传递.赋值的过程中采用的是Copy的过程,copy的"值"是该值所在的内存块,相比于class类型,copy更直接,没有对象中方法调用(饮用计数.copy方法等),因此效率更高.猜测swift引入的值类型主要是为了提高效率. 2.swift 存在哪些值类型 swift中常见的值类型有 struct,

form表单重复提交,type=“button”和type=“submit”区别

公司测试提了一个项目后台在IE浏览器下(360,firefox就没问题)出现数据重复的问题,调试了好久终于发现问题所在,也不知道是谁写的代码,醉醉的.... 错误地点: <input type="submit" value="提交"  class="btn"  id="formSubmit" onclick="checkForm()"  /> type类型写成submit,而在checkForm

#define offsetof(TYPE, MEMBER) ((size_t) &amp;((TYPE *)0)-&gt;MEMBER)

#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)宏的运行机理:1. ( (TYPE *)0 ) 将零转型为TYPE类型指针; 2. ((TYPE *)0)->MEMBER 访问结构中的数据成员; 3. &( ( (TYPE *)0 )->MEMBER )取出数据成员的地址; 4.(size_t)(&(((TYPE*)0)->MEMBER))结果转换类型.巧妙之处在于将0转 换成(TY

Inferred type &#39;S&#39; for type parameter &#39;S&#39; is not within its bound

springboot报错内容:Inferred type 'S' for type parameter 'S' is not within its bound; should extends xxxxxx /* * 根据id查询 */ @GetMapping("/student/{id}") public Student findById(@PathVariable("id") Integer id){ return studentRespository.findO