java append方法

StringBuffer buf = new StringBuffer("Hard ");

String  aString  =  "Waxworks";

buf.append(aString,3,4);

原文说明:这个操作将aString的从索引位置3开始的由四个字符组成的子串追加到StringBuffer对象buf中。然后buf对象就会包含字符串"Hard work"。

请注意,这个代码的实际运行结果是: buf对象包含的字符串为"Hard w"。

具体原因引用源代码:

public synchronized StringBuffer append(CharSequence s, int start, int end)

{

super.append(s, start, end);

return this;

}

根据运行结果分析:

StringBuffer对象的append()方法的参数,如果是String类型,那么,后面取子串的操作实际是从索引3开始,取值到索引4之前的串。如果append的语句改成 buf.append(aString,3,3); ,那么没有添加aString的子串,即 buf包含的字符实际还是"Hard "。如果此语句再改成 buf.append(aString3,2); ,那么系统会抛出"IndexOutOfBoundsException"的异常!

但是,如果append()的参数是字符数组(char[]),那么结果就如原文所述,buf将包含串"Hard work". 代码如下:

StringBuffer buf=new StringBuffer("Hard ");

char[] text ={'W','a','x','w','o','r','k','s'};

buf.append(text ,3,4); 即 buf包含串"Hard work"

具体原因引用源代码:

public synchronized StringBuffer append(char str[], int offset, int len)

{

super.append(str, offset, len);

return this;

}

JAVA 中 Stringbuffer 有append( )方法 
  Stringbuffer其实是动态字符串数组 
  append( )是往动态字符串数组添加,跟“xxxx”+“yyyy”相当那个‘+’号 
  跟String不同的是Stringbuffer是放一起的 
  String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,

但在内存中表示却不一样 
  String1+String2 存在于不同的两个地址内存 
  Stringbuffer1.append(Stringbuffer2)放再一起。

     StringBuffer是线程安全的,多用于多线程。

java append方法相关推荐

  1. java 中append()_调用append()方法在Java中构造一个StringBuffer对象

    StringBufferappend()方法将特定参数的String表示形式附加到序列中.它是java.lang.StringBuffer类的方法.此方法返回对该对象的引用. 该方法更改方法中调用的对 ...

  2. java printwriter追加_Java PrintWriter append()方法

    Java PrintWriter append()方法 java.io.PrintWriter.append(char c) 方法将指定字符到此Writer. 1 语法 public PrintWri ...

  3. Java入门第82课——StringBuilder的append方法

    问题 StringBuilder类提供将各种数据类型变量的字符串形式追加到当前序列中的append方法,在Java API中提供的append重载方法如图-15所示: 本案例要求将字符串"j ...

  4. java appendto方法_jquery中append()与appendto()用法分析

    本文实例分析了jquery中append()与appendto()的用法.分享给大家供大家参考.具体分析如下: 在jQuery的文档操作方法中,append()和appentto()方法执行的任务相同 ...

  5. java一般方法有哪些方法有哪些方法_Java代码优化有哪些方法?

    Java代码优化是Java编程开发很重要的一个步骤,Java代码优化要注重细节优化,一个两个的细节的优化,产生的效果不大,但是如果处处都能注意代码优化,对代码减少体积.提高代码运行效率是有巨大帮助的, ...

  6. FileSystem的append方法文件内容追加坑记

    首先声明HDFS并不擅长append操作. 本文以循环追加内容到文件为例,文件大小达到1KB后,重新创建新文件继续写入,写满5个文件后程序停止--,代码如下: package com.leboop.w ...

  7. python字典append_python的dict 有append方法吗

    展开全部 python的dict没有append方法.e68a843231313335323631343130323136353331333431363637 Python是一种计算机程序设计语言.是 ...

  8. StringBuffer类append方法的用法和用途

    * Java中append方法的作用是在一个StringBuffer对象后面追加字符串.append()方法 相当于"+"* 例如StringBuffer s = new Stri ...

  9. Python List append()方法

    append() 方法用于在列表末尾添加新的对象. Grammar: list.append(obj) 参数 obj - 添加到列表末尾的对象. 返回值 该方法无返回值,但是会修改原来的列表. Cas ...

最新文章

  1. python常用函数-Python 学习:常用函数整理
  2. CentOS7.5 -- Ansible部署与应用
  3. vmtouch--the Virtual Memory Toucher
  4. oracle什么是重复组,规范化:“重复组”是什么意思?
  5. Spark UI (基于Yarn) 分析与定制
  6. Cocos Creator 获取当前URL取参数
  7. php数据库连接通常方式,php连接数据库的几种方式
  8. 基于Vue3在线商城(Vue3+VueCLI+VueRouter+vuex+axios+Bootstrap)
  9. DC入门(二)综合脚本
  10. Mysql SSL 2206错误
  11. C语言循环结构输出爱心,C语言--循环结构(示例代码)
  12. sqlserver+mysql时间_SqlServer和mysql的日期函数备忘
  13. 汇编语言||基本传送指令MOV的用法详解
  14. git使用遇到的问题
  15. BUAA 编译作业 练习2-1 2-2 2-3
  16. zip压缩包带有密码如何解压
  17. sketch切换画板_Sketch App:如何与团队共享画板
  18. C#自动编号,要求编号连续不间断
  19. 服务器上进行java项目部署
  20. 1. zsh和oh-my-zsh

热门文章

  1. ORB-SLAM3 细读单目初始化过程(下)
  2. OpenCV实践小项目(三) - 停车场车位实时检测
  3. 爱情:诚心、恒心、耐心、爱心
  4. 记一次后台被入侵的事件及反思
  5. Camx架构开UMD、KMD log以及dump图的方式
  6. memset函数的用法
  7. 可变参数:va_list(),va_start(),va_arg(),va_end() 详细解析
  8. 我来说说 Vue面试知识点 和 Vue3.0
  9. 计算机应用基础(专)【4】
  10. 阿里云安装配置kafka