登录
首页 >  文章 >  java教程

Java集合size和数组length区别解析

时间:2026-01-05 23:48:44 445浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《Java集合size与数组length区别详解》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

size()是集合方法,length是数组属性,length()是字符串方法;集合用size(),数组用length,字符串用length(),三者不可互换。

Java里集合size和length有什么区别_Java集合与数组差异说明

size() 是集合的方法,length 是数组的属性

Java 中 size() 只能用在集合类上,比如 ListSetMap 等,它返回当前集合中实际包含的元素个数。这个值是动态的,随增删操作实时变化。

length 不是方法,而是数组的公共属性,只能用于数组类型(如 int[]String[])。它表示数组在创建时分配的固定容量,哪怕所有元素都是 null 或默认值,length 也不变。

字符串用 length(),不是 length 也不是 size()

字符串对象(String)既没有 length 属性,也不能调用 size()。它提供的是 length() 这个实例方法,用来获取字符串中 Unicode 字符的数量(包括空格、换行符等)。

  • "abc".length() → 返回 3
  • "".length() → 返回 0
  • "a\uFEFFb".length() → 返回 3(含一个零宽非断空格)

集合不能用 length,数组不能用 size()

直接写 list.lengtharr.size() 都会编译报错。因为:

  • 数组是 Java 的原生类型,不继承自任何类,没有 size() 方法
  • 集合是引用类型,属于 java.util 包,没有 length 属性
  • Map 虽然不属于 Collection 接口,但同样支持 size(),表示键值对数量

常见误用与检查建议

写代码时容易混淆三者,尤其在类型转换或泛型推导场景下。可按以下方式快速确认:

  • 看到方括号声明(new int[5]String[] a = {...})→ 用 .length
  • 看到 String 变量 → 用 .length()
  • 看到 ArrayListHashSetHashMap 等 → 用 .size()
  • IDE 报红提示 “cannot resolve symbol” 时,先看变量声明类型,再匹配对应语法

以上就是《Java集合size和数组length区别解析》的详细内容,更多关于的资料请关注golang学习网公众号!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>