• JAVA中的泛型


    泛型的作用在于限制参数类型,让代码更严谨,以后使用时对参数的调用不会出错

    来直接看看Java内部类泛型的实现

     1 // IntelliJ API Decompiler stub source generated from a class file
     2 // Implementation of methods is not available
     3 
     4 package java.util;
     5 
     6 public interface Map<K, V>   {
     7     
     8     int size();
     9     
    10     boolean isEmpty();
    11     
    12     boolean containsKey(java.lang.Object o);
    13     
    14     boolean containsValue(java.lang.Object o);
    15     
    16     V get(java.lang.Object o);
    17     
    18     V put(K k, V v);
    19     
    20     V remove(java.lang.Object o);
    21     
    22     void putAll(java.util.Map<? extends K,? extends V> map);
    23     
    24     void clear();
    25     
    26     java.util.Set<K> keySet();
    27     
    28     java.util.Collection<V> values();
    29     
    30     java.util.Set<java.util.Map.Entry<K,V>> entrySet();
    31     
    32     boolean equals(java.lang.Object o);
    33     
    34     int hashCode();
    35     
    36     static interface Entry<K, V>   {
    37         
    38         K getKey();
    39         
    40         V getValue();
    41         
    42         V setValue(V v);
    43         
    44         boolean equals(java.lang.Object o);
    45         
    46         int hashCode();
    47     }
    48 }

    这个是Java中Map接口的实现

    注意到Map接口中定义的方法,

    1 V put(K k, V v);

    他的返回值类型和参数类型都是K,V,也就是说它没有限制一个强类型,比如Integer或者String

    我们可以根据自己的需要设置泛型是Integer或者String,以此来限制以后传入和参数类型和对参数方法的调用

    我们一般调用的时候会这么写

    1 Map<String, String> strMap = new HashMap<String, String>();

    这里以后我们对strMap进行put操作时,传入的类型就只能是String

    而从strMap中取得元素,这个取得的元素也是最为String类来操作的

    而泛型中的类型也是可以支持继承的

    1 class Sort<E extends Comparable<E>> { /** **/ }
  • 相关阅读:
    OpenJDK与HashMap
    跨终端Web之Hybrid App
    Java日志性能
    openstack
    Hadoop下各技术应用场景
    股票基金看哪些书
    Java内存模型的历史变迁
    浅谈JS DDoS攻击原理与防御
    清除Windows 10的文件夹浏览痕迹
    linux删除文件后没有释放空间
  • 原文地址:https://www.cnblogs.com/zemliu/p/2508556.html
Copyright © 2020-2023  润新知