说说String的length()方法

先从《Java编程思想》中的一个小demo说起:

    int storage(String s){

        return s.length()*2;

    }

此方法告诉我们:需要多少个字节才能容纳String对象s中的信息。

接下来,一起来探讨一下其中的细节和知识。

 

  • 看一下String类的length()方法定义:
/** value用于存储字符(character)*/

private final char value[];

/**

* 返回字符串长度.

* 该长度值等于字符串中Unicode的单位数

*/

public int length() {

    return value.length;

}
  • 相关知识点:
  1. Java中的char类型,大小是16位(bit),最小值:unicode 0,最大:unicode 2^16-1 。
  2. Unicode码:是一种国际标准编码,采用2字节(byte)编码,一个字节是8位,所以一个unicode占用了16位。
  3. Char 占用位数和unicode一样。
  4. value.length:返回的是value中存储的字符(char)的数量,也就是返回了unicode数量。
  • 综上所述:
int storage(String s){

   return s.length()*2;

 }

s.length():返回了字符数,一个字符等于2个字节。

所以storage(String s)方法,返回了s对象中的信息所需要的字节数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值