java中数组的.length属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中数组的.length属性相关的知识,希望对你有一定的参考价值。

Class A:
public void run()
byte[] sendDateBuff=new byte[593];
sendDateBuff[4]=(byte) (sendDateBuff[4]^0x01|0x02);
UdpSendAndRec.udpSend(sendDateBuff);

Class B:
public static int udpSend (byte sendDateBuff[])
byte sendBuff[]=new byte[593] ;
System.arraycopy(sendDateBuff, 0, sendBuff, 7, sendDateBuff.length);

如上代码所示,sendDateBuff数组在类A里定义,通过方法在类B中操作,此时的sendDateBuff.length得到的值有时候是5有时候是593,不知道原因??我现在需要得到实际的数组成员个数。

正常来说,java中数组长度一旦确定就不会因为数组中存入多少数据而改变,不会出现你说的一会是5一会是593的情况。
你这段代码没有运行异常吗追问

没有异常。sendDateBuff.length正常得到的应该是存的成员个数,但实际不是,不知道怎么解决

追答

”sendDateBuff.length正常得到的应该是存的成员个数“

你这句话说的不对,不是存的成员个数,length这个属性就是数组的定义长度。它跟list的size()不同。

参考技术A 两个数据都为593,你赋值的时候从第0位开始复制从第7位赋值,没有异常吗?

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

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

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

    例如:

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

public static void main(String[] args) {

        String []list={"ma","cao","yuan"};
        String a="macaoyuan";
        System.out.println("java中的length>>>:"+list.length);
        System.out.println("java中的length()>>>:"+a.length());

        List<Object> array=new ArrayList();
        array.add(a);
        System.out.println("java中的size()>>>:"+array.size());
    }

    输出的值为:

java中的length>>>:3
java中的length()>>>:9
java中的size()>>>:1

 

   

 

以上是关于java中数组的.length属性的主要内容,如果未能解决你的问题,请参考以下文章

java 为啥数组名.length就能获取数组的长度

java length属性 length()方法 size()方法

Java中为啥有些变量后面有.length,是啥意思?

java中数组有没有length()方法?string没有lenght()方法?

java中length属性length()方法size()方法

length,length(),size()详解及区别