在生产实际中,因为智能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()。