韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > 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电脑。

关注

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

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

无人区与二线无人区的区别| 人妻互换共享4P闺蜜疯狂互换| 老头下边又粗又大又硬| 《大尺度吃奶做爰》电影| 初中小姐姐脚丫踩在男生困困| 爸井空电影| 男同网站| 非洲女人免费观看大全电视剧| 妈妈的朋友在线播放| 《熟妇的荡欲》免费看| 理伦片丰满妓女院| 美女胸部视频| 摸的下身已洪水泛滥怎么办| 小妹妹爱大棒棒免费观看电视剧 | 《喂奶人妻厨房HD》| 《訾花交换做爰》| 《太太你想丈夫被开除吧》| 《不再是朋友的夜晚第二季》| 36A的胸能夹到睾丸上吗图片| 兽父1到16集一口气看完| 两个奶头被吃得又翘又肿特别疼| 罚坐三角架尖尖图片| 妈妈醉酒后把我当爸爸电视剧| 女人被灌满精子后多久排卵期 | 欧美精品99久久久啪啪| 主动把奶头放进男朋友嘴巴里| 继母的朋友| 二人努力生猴子免费观看| 美女溜溜身子视频素材高清| 里番| 他一边日一边吃我奶头| 欧美RAPPER高清头像| 老婆误把空调维修工当| 《性房纵欲》在线观看| 《喂奶人妻厨房HD》| 情侣打牌生猴子| 国产少女免费观看电视剧大全| 女性俱乐部LOGO| 俄罗斯姑娘免费看高清电视剧| 《办公室高潮秘书2》| 女性左腿又开腿肚子中间疼视频