A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© danerchen 初级黑马   /  2014-4-23 18:32  /  2423 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

貌似记得length是数组长度的方法,而length()是字符串的方法,有时候写着写着就搞混淆了,求方法,谢谢!

15 个回复

倒序浏览
本帖最后由 igi9009 于 2014-4-23 18:37 编辑
  1. String c = "aaa";

  2. System.out.println(c.length());    //结果为3



  3. String[] d = new String[2];

  4. d[0]="1";d[1]="2";

  5. d.length; //结果为2
复制代码

length与length()都是求长度的属性。length是针对数组的函数,而length()是指字符的长度
回复 使用道具 举报
length是属性,length()有括号的是方法。  一般有length属性,常出现的是数组。而length()方法 常用的是String及其相关的类
回复 使用道具 举报
length是针对数组求数组的长度的,而length()是针对字符串求长度的。
回复 使用道具 举报
1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.

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

3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!
回复 使用道具 举报
java中length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.

java中length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.
回复 使用道具 举报
fufeng 中级黑马 2014-4-23 18:52:35
7#
     length表示的是属性,而length()则表示的是方法;其实也就是他们的调用方式是不一样的,
     比如【数组】的长度,我们在定义数组的时候就已经规定了其长度,也就不需要计算它的长度了,直接用
数组名.length来调用该属性的值就可以了。
    字符串是一个String类的对象,他的长度是不确定的,比如你随便写一个字符串就是一个对象,但是字符串中的字符长度是没有确定的,所以需要调用该对象中的方法length()来计算字符串的长度。
     说白了就是对象一创建就定义值的属性,直接调用属性名就可以了,创建之初没有定义的属性,则需要调用内部方法来计算获得
              

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 한숨짓다 于 2014-4-23 23:46 编辑

(1)总结了一些求长度的方法:
1.String类中的int length(): 返回此字符串的长度。
2.Array类中的static int getLength(Object array) :以 int 形式返回指定数组对象的长度。
3.常见的集合类ArrayList、LinkedList、Vector、HashSet、TreeSet、HashMap类中的有
  int size()  :返回此列表中的元素数。
(2)对于length和length()深层次理解记忆:
1.问题:在所有数组中有唯一的一个属性——length,那么这个属性是在Java的哪一个类中的呢?这些数组的这个属性是从哪来的?
2.答:数组是Java特殊处理过的,
   int i = args.length;
   可以通过javap   看到指令为
   aload_0
   arraylength
   istore_1
   return
  可见Java专门为Array定义了取得长度的指令了
小结:数组的length即不是方法,也不是字段。
在一个数组对象上调用length,会被Java编译器编译成一条arraylength指令(Java binary code)。
而访问字段的语句会被编译成getfield或getstatic指令,调用方法的语句则会被编译成invokestatic,
invokevirtual或invokespecial等指令。
Java字节码中有许多单独针对数组的指令,它们在其它任何非数组类型的对象上调用都是毫无意义的。
由此可见,它们本质就不一样,不能等同起来直接进行对比            
希望对你的疑惑有帮助!





评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
length是java中的属性,可以直接使用;length()是类中的方法。length多用于数组,length()多用于字符串等。两者都是获取长度
回复 使用道具 举报
你记住,length用于数组,length()用于字符串,size()用于集合,一切就 OK 了
回复 使用道具 举报
数组中的是属性,字符串中是方法,属性没有括号length,方法有括号length(),这样就不会混淆了
回复 使用道具 举报
length是属性,length()有括号的是方法。
回复 使用道具 举报
length是数组的长度,length()这个有括号是方法特有的
回复 使用道具 举报
java中的length属性是针对数组说的 , 比如说你声明了一个数组  ,  想知道这个数组的长度则 用到了length这个属性  .   
java  中的length()方法是针对字符串String说的 ,
java中的size()方法是针对集合说的,如果想看这个集合有多少个元素,就调用此方法
回复 使用道具 举报
length是数组的属性,比如一个数组arr[],那么arr.length表示数组的长度。而length()是String类的方法,表示字符串的长度。
回复 使用道具 举报
一个是长度。一个是方法。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马