国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > Java泛型擦除的原理分析

Java泛型擦除的原理分析

java 泛型擦除

头像

小妮浅浅

2021-06-08 10:09:043575浏览 · 0收藏 · 0评论

1、说明

在编译过程中,可以获得类型变量的信息。因此,set方法可以在编译器中进行类型检查,非法类型不能通过编译。但是对于get方法,由于擦除机制,操作时的实际引用类型是Object类型。

为了恢复返回结果的类型,编译器在get后添加了类型转换。因此,在genericHolder.class文件main方法主体的第18行有类型转换的逻辑。这是编译器自动添加的。

因此,我们处理了泛型对象的读写位置,并对代码添加了限制。

2、实例

//GenericHolder.java
public class GenericHolder<T> {
    T obj;
    public T getObj() {
        return obj;
    }
    public void setObj(T obj) {
        this.obj = obj;
    }
    public static void main(String[] args) {
        GenericHolder<String> holder = new GenericHolder<>();
        holder.setObj("Item");
        String s = holder.getObj();
    }
}
 
//GenericHolder.class
public class GenericHolder<T> {
  T obj;
 
  public GenericHolder();
    Code:
       0: aload_0       
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return        
 
  public T getObj();
    Code:
       0: aload_0       
       1: getfield      #2                  // Field obj:Ljava/lang/Object;
       4: areturn       
 
  public void setObj(T);
    Code:
       0: aload_0       
       1: aload_1       
       2: putfield      #2                  // Field obj:Ljava/lang/Object;
       5: return        
 
  public static void main(java.lang.String[]);
    Code:
       0: new           #3                  // class GenericHolder
       3: dup           
       4: invokespecial #4                  // Method "<init>":()V
       7: astore_1      
       8: aload_1       
       9: ldc           #5                  // String Item
      11: invokevirtual #6                  // Method setObj:(Ljava/lang/Object;)V
      14: aload_1       
      15: invokevirtual #7                  // Method getObj:()Ljava/lang/Object;
      18: checkcast     #8                  // class java/lang/String
      21: astore_2      
      22: return        
}

以上就是Java泛型擦除的原理分析,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

双乳被四个男人吃奶动态图| 孤男寡女干柴烈火的下一句是什么| 掀起衣服揉她的奶头| 致命女人| 《慈母夜吟》完整版| 录像狗配女人| 抵达花心乖叫老公是第几集 | 两个男人睡一个女人什么心理呢| 欧美性开放性滥交| 丈夫不在家儿媳想老公的背景故事 | 姐姐片多多免费高清电视剧叶玉卿| 日剧《轮流取珠》| 人犬兽人在线观看免费完整| 《厨房韵母2》动漫下线了吗| 天美麻花星空影视免费观看电视剧| 女性扒开大腿内侧小肚子痒| 扒开腿挺进肉蒂抽搐喷潮BL| 苍井空AV成人片免费观看| 禁忌2| 《玉尺经》| 欧美精品一区| 老师好爽要尿了潮喷了18P| 苍井空| 宝贝乖把腿开大让我添添什么歌| 八戒八戒电影在线看免费观看8| 双人床上做运动后排有伤害吗| 第1章品尝朋友娇妻| 《男医生的特殊治疗》| 小叔子从后面抱住我的电视剧| 涂了春药的奶头被众人抡H漫画| 芬太尼问题百度百科| 护士PLAY超薄A字约会裙| 初中女生光溜溜身子拉屎视频| 《疯狂瑜伽》完整版| 八戒八戒在线看免费观看电视剧| 9.1短视频| 傲娇受| 女生给男生吃小头头 | 人口兽猪马狗第1集| 滢滢的日记1~15笔趣阁| 自己怎么玩隐私位置游戏