你注意到Java中的length和length()了吗?外加一个size()

目录

先看一些例子

深究

总结


先看一些例子:

public class test {
    public static void main(String[] args){
        // 示例一
        String str = "abc";
        System.out.println(str.length());

        //示例二
        String[] str1 = {"abc","dsa"};
        System.out.println(str1.length);

        //示例三
        int[] arr = {1,2,3};
        System.out.println(arr.length);
    }
}

上面是通过IDEA来编辑的,它会提醒你是用length还是length()。所以问题来了,为什么第一个示例提示使用length(),而第二个和第三个提示我们用length呢?

深究:

先看第一个示例:我们按住Ctrl然后鼠标左击length()进入查看方法的实现。发现length()它背后的方法是返回了value.length,继续查看value,如右图所示,它定义的是一个字符数组。

通过上面的查看,我们终于明白了,原来字符串是通过char数组来存储的。

那为什么数组可以有自己的length属性呢?

原因是数组是一个容器对象,其中包含固定数量的同一类型的值。一旦数组被创建,他的长度就是固定的了。数组的长度可以作为final实例变量的长度。因此,长度(length)可以被视为一个数组的属性

所以,既然本质都是数组,那字符串也就没有必要来定义一个不必要的属性(因为该属性在char数值中已经提供了)。

 

总结:

  • Java中String类定义的字符串对象,用length()求它的长度。
  • 若是数组求长度,均可使用他们自己的属性length

 对求长度的总结:

  1. 数组.length           属性 ,返回值 int
  2. 字符串.length()     方法,返回值int
  3. 集合.size()             方法,返回值int
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值