zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别
    leetcode系列---3Sum C#code
    leetcode系列---atoiFunction C#code
    leetcode系列---Two Sum C#code
    .NET webAPI中集成swagger
    js去空格
    clip 属性剪裁绝对定位元素
    css实现隐藏显示
    无阻塞加载脚本的方案
    打乱数字数组的顺序
  • 原文地址:https://www.cnblogs.com/NewDolphin/p/5371554.html
Copyright © 2011-2022 走看看