Java中为什么获取字符串长度用str.length(),获取数组长度用.length,以及集合的size()方法

此生辽阔 2021-04-07 10:22:39
首先,数组是一个容器对象,其中包含固定数量的同一类型的值。一旦数组被创建,它的长度就是固定的了。数组的长度可以作为final实例变量的长度。因此,长度可以被视为一个数组的属性。一旦数组被创建,其大小就固定了


String背后的数据结构是一个char数组,所以没有必要来定义一个不必要的属性(因为该属性在char数值中已经提供了)。和C不同的是,Java中char的数组并不等于字符串,虽然String的内部机制是char数组实现的。



深入分析Java中的length和length()


首先,字符数组和字符串都是对象。字符数组在创建的时候,长度就已经确定了,所以可以利用length属性表示其长度,而字符串本质也是一个字符数组,没必要再用这个属性表示其长度,于是就封装了一个方法,其源码如下:

public int length() {
return value.length >> coder();
}

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


length——数组的属性;

length()——String的方法;

size()——集合的方法;

...全文
281 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2021-04-08
楼主说的对。
  • 打赏
  • 举报
回复
发帖
Java SE

6.2w+

社区成员

Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
帖子事件
创建了帖子
2021-04-07 10:22
社区公告
暂无公告