您的位置:首页 > 编程语言 > Java开发

java中length,length(),size()区别

2014-08-15 21:27 337 查看



1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.

2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.

3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!

这个例子来演示这两个方法和一个属性的用法

public static void main(String[] args) {

String []list={"ma","cao","yuan"};

String a="macaoyuan";

System.out.println(list.length);

System.out.println(a.length());

List<Object> array=new ArrayList();

array.add(a);

System.out.println(array.size());

}

输出的值为:

3

9

1

************************************************************************************************************************

有length()方法的类里没size()方法,反之亦然。

一个规律被我找到了。

我感觉数组之所以用“length”属性,是因为数组是顺序存储的线性表,里面的对象按先后顺序排成一条线,所以是“长度”。数组下标即该对象的序号(它应该是个相对地址),指定了对象的位置,故存取时按序号就能直接找到对象来操作。

而容器更感觉是个箱子,往里面加(add)对象,所以是“大小”(size)。给每个对象按进容器的顺序编个号,编号并不指定位置(它应该是个指针),故存取时不能将编号以下标形式直接查找,而只能用get方法,获取相应编号的对象;
而迭代器就是把箱子里的对象按编号排好,使与存储位置无关的编号成为指定位置的序号,把容器化为数组。

PS:这仅仅是个加快记忆的比喻和一些猜想,涉及的机制不敢说完全正确。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: