爱程序网

1.3.6 简化变参方法调用

来源: 阅读:

...说实话,我没太懂……

import java.util.Collection;
import java.util.HashMap;

public class CoinChangeParams {
    
    @SuppressWarnings("unused")
    public static void main(String[] args) {
        
        /*
         * 变参原理:所有出现在末尾的变参都会被放到一个数组中(由编译器自动创建)并作为一个参数传入;
         * ——但是存在一个公认的Java泛型缺陷——不允许创建已知类型的泛型数组;
         */
//        HashMap<String, String>[] arrayHm = new HashMap<>[2];    // 报错
//        HashMap<String, String>[] arrayHm2 = new HashMap[2];    // 警告
        
        HashMap<String, String> hm1 = new HashMap<>();
        HashMap<String, String> hm2 = new HashMap<>();
        Collection<HashMap<String, String>> coll = doSomething(hm1, hm2);
        
    }

    @SafeVarargs    // Java 7提供了一个新注解 Java.lang.SafeVarargs
    public static <T> Collection<T> doSomething(T... entries) {
        return null;
    }

}

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助