怎么用length给一个数组定义(1.6.length和length)

当没有任何IDE的情况下,如何得到一个数组的长度,如何得到一个String的长度 我问这个了很对不同水平的开发者:初级的中级的他们不能快速正确地回答这个问题当IDE提供快速的补全功能时候,也带了这个问题的“表面理解“在这个文章中,我将解释关于Java数组的几个概念 答案是:,我来为大家讲解一下关于怎么用length给一个数组定义?跟着小编一起来看一看吧!

怎么用length给一个数组定义(1.6.length和length)

怎么用length给一个数组定义

首先你可以快速回答下面问题吗?

当没有任何IDE的情况下,如何得到一个数组的长度,如何得到一个String的长度。 我问这个了很对不同水平的开发者:初级的中级的。他们不能快速正确地回答这个问题。当IDE提供快速的补全功能时候,也带了这个问题的“表面理解“。在这个文章中,我将解释关于Java数组的几个概念。 答案是:

int[] arr = new int[3]; System.out.println(arr.length);//length for array String str = "abc"; System.out.println(str.length());//length() for string

这个问题变成了为什么数组有长度属性但是字符串没有? 或者为什么String有字符串方法而数组没有。

二 为什么数组有length属性

首先,数组是个对象的容器保存着固定数量的一个类型的值。数组被创建后,它的长度将不能改变的。数组的长度是个可用的不可改变的成员变量。因此长度被当做一个数组的预定于的属性。 数组有两种方法被创建:

  • 数组可以通过表达式创建。
  • 数组初始器。 当它被创建时候,这个长度是被指定的。一个数组创建表达式可以像上面例子的代码被使用。它指定的成员的类型。数组的层数,和至少一层数组的长度。 下面的声明仍然是合法的,当它指明了一层的长度。

int[][] arr = new int[3][];

数组初始化起创建了一个数组和提供所有的构造它的初始值。它被书写为逗号分隔的字表达式列表,被{}括起来。 如下:

int[] arr = {1,2,3};

三 为什么没有一个叫Array的类,类似“String”定义。

如果array是个对象的话,那么下面代码是合法的:

Object obj = new int[10];

一个数组包含了所有从Object类(除了克隆)的类的成员。为什么没有一个叫做数组的类呢? 我们也不能发现一个Array.java的文件。粗糙的解释是它们对我们隐藏了。 你可以思考一个问题,如果有一个叫数组的类,它看起来应该什么样子。它将仍然需要一个数组去保存所有的数组数据,对不对?因此定义一个如此的类不是一个好主意。 实际上,我们可以得到一个数组的类通过下面的代码。

int[] arr = new int[3]; System.out.println(arr.getClass()); //输出: class [I

class [I 代表着运行运行时候class对象的签名。一个数组由int类型组成。

四 为什么String有length()方法。

字符串后面的数据是一个字符数组。对每个程序来讲,它都不需要定义一个属性。不像C,在Java中字符串数组不是字符串。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页