关于Java中length、length()、size()的区别

关于Java中length、length()、size()的区别首先区分一下length和length();length不是方法,是属性,数组的属性;public static void main(String[] args) { int[] intArray = {1,2,3}; System.out.println("这个数组的长度为:" + intArray.length);}length()是字符串String的一个方法;p…

大家好,又见面了,我是你们的朋友全栈君。

首先区分一下length和length();

length不是方法,是属性,数组的属性;

public static void main(String[] args) {
	int[] intArray = {1,2,3};
	System.out.println("这个数组的长度为:" + intArray.length);
}

length()是字符串String的一个方法;

public static void main(String[] args) {
	String str = "HelloWorld";
	System.out.println("这个字符串的长度为:" + str.length());
}

进入length()方法看一下实现

private final char value[];
 
public int length() {
        return value.length;
    }

注释中的解释是

@return     the length of the sequence of characters represented by this object.

即由该对象所代表的字符序列的长度,所以归根结底最后要找的还是length这个底层的属性;

size()方法,是List集合的一个方法;
 

public static void main(String[] args) {
	List<String> list = new ArrayList<String>();
	list.add("a");
	list.add("b");
	list.add("c");
	System.out.println("这个list的长度为:" + list.size());
}

在List的方法中,是没有length()方法的;

也看一段ArrayList的源码

private final E[] a;
 
ArrayList(E[] array) {
       if (array==null)
             throw new NullPointerException();
       a = array;
}
 
public int size() {
       return a.length;
}

由这段就可以看出list的底层实现其实就是数组,size()方法最后要找的其实还是数组的length属性;

另外,除了List,Set和Map也有size()方法,所以准确说size()方法是针对集合而言。

总结:

length——数组的属性;

length()——String的方法;

size()——集合的方法;

谨记。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147197.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 物联网平台架构设计

    物联网平台架构设计现在网上讨论的有关物联网的帖子非常之多,但大部分都是介绍理论或者有关硬件,通讯相关的问题,比如物联网模块,物联网通讯协议MQTT、XMPP、NB_IOT等,个人认为这些只是物联网中一部分,而涉及到物联网的设备如何管理,用户如何管理,数据包如何解析,大数据如何展示等也是物联网模块中非常重要的部分,所以作者就根据自身工作中总结出来的建构在云端的物联网平台基本架构分享给大家,并基于此架构如何一步一步来开发

    2022年5月9日
    35
  • 小代码改进

    小代码改进

    2021年8月29日
    58
  • linux安装oracle19c完整版(图形+静默安装)

    linux安装oracle19c完整版(图形+静默安装)最近有项目要搭建测试环境,加上又刚参加了oracle组织的oracle19c的升级培训,所以准备在测试环境里面直接安装oracle19c。

    2022年7月19日
    12
  • MATLAB中求矩阵的逆矩阵方法(2种)「建议收藏」

    MATLAB中求矩阵的逆矩阵方法(2种)「建议收藏」方法一:使用inv()函数求矩阵的逆第一步:打开matlab之后,在命令行窗口中输入a=[123;456;789],新建一个a方矩阵,如下图所示:第二步:在命令行窗口中输入inv(a),按回车键,可以看到得到了矩阵的逆,如下图所示:注意:a矩阵可逆的条件是非奇异方法二:使用a^-1格式求矩阵的逆第一步:在命令行窗口中输入a^-1,按回车键,可以得到矩阵的逆,如下图所示:其实,还可以给-1加括号“()”,a^(-1),如下图:注:a必须是方针,即行数和列数相等。…

    2022年8月21日
    8
  • C++STL容器总结[通俗易懂]

    持续更新中!!!各大容器的特点:1.可以用下标访问的容器有(既可以插入也可以赋值):vector、deque、map;特别要注意一下,vector和deque如果没有预先指定大小,是不能用下标法插入元素的…

    2022年4月4日
    37
  • java 股票历史数据_获取股票的历史数据

    java 股票历史数据_获取股票的历史数据packagecom.xiaole.stock;importjava.util.ArrayList;importjava.util.List;importorg.jsoup.Jsoup;importorg.jsoup.nodes.Document;importorg.jsoup.nodes.Element;importorg.jsoup.select.Elements;publicclassGe…

    2022年6月24日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号