• Java 数组


    Java数组

    • 静态初始化
      • //只是指定初始值,并没有指定数组的长度,但是系统为自动决定该数组的长度为4


        String[] computers = {"Dell", "Lenovo", "Apple", "Acer"};
      • //只是指定初始值,并没有指定数组的长度,但是系统为自动决定

        String[] names = new String[]{"多啦A梦", "大雄", "静香"};
    • 动态初始化
      • //只是指定了数组的长度,并没有显示的为数组指定初始值,但是系统会默认给数组数组元素分配初始值为null

        String[] cars = new String[4];
    • 数组的存储
      • 无论使用的数组属于什么类型,数组标识符实际都是指向真实对象的一个句柄
      • 堆中的数组对象唯一能访问的数组成员是只读的length,方法是[]
    • 二维数组
      • int[][] nums = new int[2][2];
        nums[0][1] = 2;
    • Object 类的toString()方法默认为类名+对象地址
    • 编译期检查
      • 是否为数组变量创建对象
      • 是否插入错误类型
    • Arrays 方法
      • asList():将数组转变为List,但是,这个生成的List,它是固定长度的,如果对其进行add或者remove的操作,会抛出UnsupportedOperationException

        源码中:

        public static <T> List<T> asList(T... a) { return new ArrayList<T>(a); }
        方法asList返回的是new ArrayList(a)。但是,这个ArrayList并不是java.util.ArrayList,它是一个Arrays类中的重新定义的内部类。从这个内部类ArrayList的实现可以看出,它继承了类AbstractList,但是没有重写add和remove方法,没有给出具体的实现。查看一下AbstractList类中对add和remove方法的定义,如果一个list不支持add和remove就会抛出UnsupportedOperationException。
  • 相关阅读:
    P1856 [USACO5.5]矩形周长Picture 题解
    题解 SP703 【SERVICE
    题解 P2893 【[USACO08FEB]Making the Grade G】
    P4551 最长异或路径 题解
    P3834 【模板】可持久化线段树 2(主席树)题解
    用正则表达式验证用户名输入的正确性
    软件测试杂谈
    next_permutation
    刊物论文级别
    android 之常见事件响应的实现方式对比
  • 原文地址:https://www.cnblogs.com/NewDolphin/p/5371554.html
Copyright © 2020-2023  润新知