关于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)
上一篇 2022年6月13日 下午8:36
下一篇 2022年6月13日 下午8:36


相关推荐

  • 详解java人力外包的费用组成

    详解java人力外包的费用组成根据IDC的统计数字,在所有软件开发类人才的需求中,对java工程师的需求达到全部需求量的60%~70%,也就是说,很多企业的信息化建设都离不开java开发人员。但面对成本费用、灵活用工、编制限制、劳务纠纷等问题,包括BAT在内的很多大型知名企业都会与软件人力外包公司合作来引进java人才。那么什么是java人力外包?java人力外包指的是由用人企业向软件人力外包公司提出java方面的用人需求,包括人数、技能要求、到岗时间、项目周期、预算等,软件人力外包公司通过外派的方式将符合要求的java人才提供给

    2022年5月19日
    109
  • LangChain 智能体Agent

    LangChain 智能体Agent

    2026年3月16日
    2
  • getResourceAsStream和getClassLoader

    getResourceAsStream和getClassLoader1. Class.getResourceAsStream(Stringpath):path不以’/’开头时默认是从此类所在的包下取资源,以’/’开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。 2.Class.getClassLoader.getResourceAsStream(Stringpath):默认则

    2022年6月9日
    47
  • Unity ML-Agents实战指南:构建多技能游戏AI训练系统

    Unity ML-Agents实战指南:构建多技能游戏AI训练系统

    2026年3月15日
    1
  • 联合国世界卫生组织(WHO)认为健康的包括哪些方面?_联合国世界卫生组织把健康定义为

    联合国世界卫生组织(WHO)认为健康的包括哪些方面?_联合国世界卫生组织把健康定义为联合国世界卫生组织(WHO)对健康的定义是,即“健康不仅是没有疾病,而且包括躯体健康、心理健康、社会适应良好和道德健康”。由此可知,健康不仅仅是指躯体健康,还包括心理、社会适应、道德品质相互依存、相

    2022年8月1日
    8
  • guzzle php,PHP网络请求插件Guzzle使用

    guzzle php,PHP网络请求插件Guzzle使用在写后台代码时 避免不了需要与其他第三方接口交互 如向服务号下发模板消息 有时可能需要下发超过 10 万条 这时不得不考虑使用异步和 多线程 的网络请求 今天向 PHP 工程师们推荐一个 Guzzle 插件 GuzzleGuzzle 是一个 PHP 的 HTTP 客户端 用来轻而易举地发送请求 并集成到我们的 WEB 服务上 接口简单 构建查询语句 POST 请求 分流上传下载大文件 使用 HTT

    2026年3月19日
    3

发表回复

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

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