在生产实际中,因为智能IDE的存在,我们在编写Java以及其他语言的程序时,并不需要必须记住一些特定的方法或者属性,因为我们可以输入点号,然后一个字母一个字母的尝试。

但是在在线编程、面试手写、以及某些比赛中,需要我们来放弃智能联想简单写一些算法,这时候就会因为各种长度以及大小的不一致,记忆混乱,导致多次尝试。

这里我总结了一些在Java中,字符串长度、数组大小、列表大小的便捷分辨以及记法,以供大家学习。


文章目录

  • 一、数组大小 length
  • 二、字符串长度 length()
  • 三、列表大小 size()


一、数组大小 length

我们都知道,数组在创建初始化时,就必须给予其数组大小的值,并且数组的大小是固定的,不能改变

因此,数组提供了一个对外的属性,length,来表示其大小。(因为无法改变length值,所以它就放心地把length给暴露出来,很嚣张)

二、字符串长度 length()

String s = "Hello World";
int len = s.length();

在Java中,字符串始终是一个对象,对于字符串的长度,因为面向对象的抽象性的存在,它被设计成是不能直接获取的。

字符串提供了length()这个公开方法,其定义如下:

/**
     * Returns the length of this string.
     * The length is equal to the number of <a href="Character.html#unicode">Unicode
     * code units</a> in the string.
     *
     * @return  the length of the sequence of characters represented by this
     *          object.
     */
    public int length() {
        return value.length;
    }

其中value是String对象中的一个字符数组,用来存字符串中的每个字符:

private final char value[];

其实String的私藏了一个妖艳的数组(有金屋藏娇内味了),因为对象都很自私(抽象性),所以String狡猾地用公开的length()方法包装了一下,当做它自己的东西,展现给世人(甚至只是在length后加了个括号)。

三、列表大小 size()

列表是一个比较棘手的东西,因为它可以包含很多种类对象,因此它内部有个私人计数器,size,用来计算我们给它塞了多少东西。

List提供了size()方法返回列表大小。

/**
     * The size of the ArrayList (the number of elements it contains).
     *
     * @serial
     */
    private int size;
    /**
     * Returns the number of elements in this list.
     *
     * @return the number of elements in this list
     */
    public int size() {
        return size;
    }

当然,size也是私人的(private),List始终是自私的对象,因此它也是包装了一下就拿来用。为了区别于String,集合类的对象一般都使用size()。