zoukankan      html  css  js  c++  java
  • 装箱拆箱陷阱记录

    1 陷阱一

    • java
    List<Short> list = new ArrayList<>();
    list.add((short) 4);
    boolean contains1 = list.contains(4); // false
    boolean contains2 = list.contains((short)4); // true
    
    • 字节码
      Code:
           0: new           #2                  // class java/util/ArrayList
           3: dup
           4: invokespecial #3                  // Method java/util/ArrayList."<init>":()V
           7: astore_1
           8: aload_1
           9: iconst_4
          10: invokestatic  #4                  // Method java/lang/Short.valueOf:(S)Ljava/lang/Short;
          13: invokeinterface #5,  2            // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
          18: pop
          19: aload_1
          20: iconst_4
          21: invokestatic  #6                  // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
          24: invokeinterface #7,  2            // InterfaceMethod java/util/List.contains:(Ljava/lang/Object;)Z
          29: istore_2
          30: aload_1
          31: iconst_4
          32: invokestatic  #4                  // Method java/lang/Short.valueOf:(S)Ljava/lang/Short;
          35: invokeinterface #7,  2            // InterfaceMethod java/util/List.contains:(Ljava/lang/Object;)Z
          40: istore_3
          41: return
    
  • 相关阅读:
    亚像素
    dmysql 与QT的连接
    opencv中ptr的使用
    对图片对比度和亮度的理解
    opencv中的各种滤波设计
    人脸检测相关介绍
    opencv中相关的矩阵运算
    形态学处理
    阀值化 threshold
    Python深浅拷贝
  • 原文地址:https://www.cnblogs.com/linzhanfly/p/9772429.html
Copyright © 2011-2022 走看看