public int capacity()
返回当前容量。容量指可用于最新插入字符的存储量,超过这一容量便需要再次分配。

返回:
当前容量。
public int length()
返回长度(字符数)。

指定者:
接口 CharSequence 中的 length
返回:
此对象表示的当前字符序列的长度。
容量是理论值,长度是实际值。
public StringBuilder append(任意类型) 
将 任意类型 参数的字符串表示形式追加到序列。 
参数将被转换成字符串,就好象使用了 String.valueOf 方法一样。然后,将所得字符串中的字符追加到此序列。

reverse

public StringBuilder reverse()
将此字符序列用其反转形式取代。如果序列中存在代理项对 (surrogate pair),在 reverse 操作中将其作为单个字符处理。因此,高-低代理项的顺序不会反转。假设 n 为执行 reverse 方法前此字符序列的字符长度(并非 char 值的长度),则新字符序列中索引 k 处的字符将等于原字符序列索引 n-k-1 处的字符。

注意,进行 reverse 操作后,执行操作前未成对的低代理项和高代理项将成为代理项对。例如,反转 "\uDC00\uD800" 将生成有效的代理项对 "\uD800\uDC00"。

返回:
此对象的一个引用。
在这里有人可能会问什么是代理项对?下面将给出详细解释。
字面意义是:代理对。实际上是指:对于一个UTF16编码改用两个UTF16编码来代替。
翻译的估计可以是:UTF16编码代理对。

为何需要surrogate pairs?本来一个字符用一个UTF16编码(两个字节)来表示即可,但是由于需要被编码的字符越来越多,只用一个UTF16编码已经不足于表示所有的字符。因此,就需要考虑使用2个UTF16来表示一个字符(四个字节)。但是如果对于所有的字符都这样编码的话,太浪费空间了(原来只需要2个字节,现在都改用4个字节),所以规定,只有使用两个一定范围内的UTF16编码才被认为是一组surrogate pairs,其一起用来表示一个字符,对于其余的情形还是用一个UTF16来表示一个字符。

the detailed annotation of StringBuilder的更多相关文章

  1. 使用Redisson实现分布式锁,Spring AOP简化之

    源码 Redisson概述 Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid).它不仅提供了一系列的分布式的Java常用对象,还提供了许多 ...

  2. redis分布式锁Redisson扩展

    如果大家项目中Redis是多机部署的可以来好好看看这篇实现,讲的非常好. 使用Redisson实现分布式锁,Spring AOP简化之   源码 Redisson概述 Redisson是一个在Redi ...

  3. 深入分析Java反射(三)-泛型

    前提 Java反射的API在JavaSE1.7的时候已经基本完善,但是本文编写的时候使用的是Oracle JDK11,因为JDK11对于sun包下的源码也上传了,可以直接通过IDE查看对应的源码和进行 ...

  4. Java Annotation 注解

    java_notation.html div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin ...

  5. 一种基于annotation的Spring-mvc权限控制方法

    简介 本文介绍一种采用annotation来对spring-mvc进行权限控制的方法. 通过枚举类来定义权限项. 将annotation标注到需要控制权限的spring-mvc方法上. 然后,在spr ...

  6. Annotation

    Annotation是给类,方法或域上加的一种特殊的标记,可以通过反射取到注解的类型和值,从而完成某种特定的操作. 定义注解需要使用元注解,元注解有@Retention和@Target p.p1 { ...

  7. java注解Annotation

    扯扯注解的蛋 为什么学习注解?学习注解有什么好处?学完能做什么? 1.能够读懂别人的代码,特别是框架相关的代码 2.让编程更加简洁,代码更加清晰 3.让别人高看你一眼 注解是java1.5引入的 概念 ...

  8. 基于Annotation与SpringAOP的缓存简单解决方案

    前言: 由于项目的原因,需要对项目中大量访问多修改少的数据进行缓存并管理,为达到开发过程中通过Annotation简单的配置既可以完成对缓存的设置与更新的需求,故而设计的该简易的解决方案. 涉及技术: ...

  9. [项目回顾]基于Annotation与SpringAOP的缓存简单解决方案

    前言: 由于项目的原因,需要对项目中大量访问多修改少的数据进行缓存并管理,为达到开发过程中通过Annotation简单的配置既可以完成对缓存的设置与更新的需求,故而设计的该简易的解决方案. 涉及技术: ...

随机推荐

  1. django框架--cookie/session

    目录 一.http协议无状态问题 二.会话跟踪技术--cookie 1.对cookie的理解 2.cookie的使用接口 3.cookie的属性 4.使用cookie的问题 三.会话跟踪技术--ses ...

  2. Java之IO(十)Reader和Writer

    转载请注明源出处:http://www.cnblogs.com/lighten/p/7071733.html 1.前言 之前的章节已经将Java8的io包中的字节流介绍完毕了.本章开始介绍Java的I ...

  3. mapreduce基本原理

    场景: 一个大小为100T的文件,统计单词"ERROR"和"INFO"的个数 普通做法 是不是效率太低了? 换个方式 说明: 把100T文件分成100份,一台机 ...

  4. 泛型深入--java泛型的继承和实现、泛型擦除

    泛型实现类: package generic; /** * 泛型父类:子类为“富二代”:子类的泛型要比父类多 * 1,保留父类的泛型-->子类为泛型类 * 2,不保留父类泛型-->子类按需 ...

  5. 最小化或关闭Outlook2013到系统托盘

    https://community.spiceworks.com/how_to/36214-minimize-and-or-close-outlook-to-taskbar 要注意里面提到的以管理员权 ...

  6. Android4.0 Launcher 源码分析3——WorkSpace结构(滑动)

    3.WorkSpace结构(滑动) 桌面的左右滑动功能主要是在PagedView类中实现的,而WorkSpace是PagedView类的子类,所以会继承PagedView中的方法.当我们的手指点击Wo ...

  7. GDAL并行I/O

    和导师在Transactions in GIS 上发表的关GDAL并行I/O方面的文章(SSCI, IF=0.906)http://onlinelibrary.wiley.com/doi/10.111 ...

  8. 进击Node.js基础(二)

    一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> ...

  9. 终于完成了-- github.com/salomon1184/METP

  10. kafka 启动 报错cannot allocate memory,即内存不足

    错误提示: Java Hotspot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 9865134 ...