zoukankan      html  css  js  c++  java
  • java 泛型数组

    public class GenericArrayWithTypeToken<T> {
        private T[] array;
    
        public GenericArrayWithTypeToken(Class<T> type,int sz) {
            array = (T[]) Array.newInstance(type, sz);
            //array = (T[])new Object[sz]; 会出现类型转换异常
        }
        
        public void put(int index,T item) {
            array[index] = item;
        }
        public T get(int index) {
            return array[index];
        }
        
        public T[] rep() {
            return array;
        }
        public static void main(String[] args) {
            GenericArrayWithTypeToken<Integer> gai = 
                    new GenericArrayWithTypeToken<>(Integer.class, 10);
            Integer[] ia = gai.rep();
        }
        
        
    
    }

    java创建泛型数组可以通过Array类的newInstance方法创建,包含两个参数,第一个是数组类型,第二个是长度.

    如果使用T[ ]创建数组会编译错误.

    如果使用 (T[ ])new Object[SIZE] 虽然编译器不会出错,但是运行期会出错,毕竟创建的是Object数组,array实际指向的是Object数组,无法强转化为T.

  • 相关阅读:

    队列
    数据结构简介
    标准模板库
    类模板
    函数模板
    srvctl error
    FLASH BACK
    RAC 设置archive log模式
    CHAPTER 1 Architectural Overview of Oracle Database 11g
  • 原文地址:https://www.cnblogs.com/lishuaiqi/p/10312016.html
Copyright © 2011-2022 走看看