字符串

基本特性

  1. final:字符串被修饰为final,是不能被继承的。

  2. immutable:字符串是不可改变的,例如创建了一个字符串对象,就不可改变它,即不能进行增删查改其中的字符。一旦创建好这个字符串,里面的内容永远不改变,字符串的表现就像一个常量。

  3. 字符串长度:

    str.length();
    //数组长度
    array.length;
    //集合类的长度
    arraylist.size();

常用方法

char a = str.charAt(0);//获取指定位置的字符
char[] cs = str.toCharArray();//获取对应的字符数组
String substr1 = s.substring(3);//截取从第3个开始的字符串(基0)
String substr1 = s.substring(3,5);//截取从第3个到第5-1个位置的字符串
String[] strs = s.split(",");//根据参数进行分割,得到一定个数的子字符串
s = s.trim();//去掉首尾空格
s.toLowerCase();//全部变成小写
s.toUpperCase();//全部变成大写
int i = s.indexOf("8个");//indexOf()判断字符或字符串出现的位置
int i2 = s.indexOf(',', 5);//从位置5开始,','出现的位置
boolean r = s.contains("击杀");//判断是否包含子字符串
String temp = s.replaceAll("QQ", "WW");//将QQ替换为WW
String t = s.replaceFirst("QQ", "WW");//将第一个QQ替换成WW

StringBuffer

StringBuffer是可以变长的字符串。与String内部是一个字符数组一样,StringBuffer也维护了一个字符数组。

但是StringBuffer内的字符数组留有冗余长度。sb.length是已有字符的长度,初始长度为capacity,不同的JDK值不同。

超过capacity的话,就会进行扩容。先计算出新的容量,创建一个新的数组,然后将原数组复制到新数组中。

String str = "hello, world"
StringBuffer sb = new StringBuffer(str);//根据str创建一个StringBuffer对象
sb.append("hello again");//在最后追加
sb.delete(4, 10);//删除4-10之间的字符
sb.insert(4, "lalal");//在4这个位置插入
sb.reverse();//反转

最新文章

  1. [2014.01.27]WFsoft.wfLibrary.wfIniFile 1.5
  2. CF 445B DZY Loves Chemistry(并查集)
  3. caffe问题集锦
  4. 禁用mac Command w
  5. atom 震动特效
  6. 控制文本和外观------Style Binding(Style属性绑定)
  7. Force IE to Open Link in New Tab
  8. ipython, 一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数
  9. C语言获取系统当前时间转化成时间字符串
  10. Nginx教程(一) Nginx入门教程
  11. DELPHI XE8 远程调试
  12. 搭建私有Docker Registry
  13. 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props”
  14. Candies POJ - 3159 (最短路+差分约束)
  15. [模板] 杜教筛 && bzoj3944-Sum
  16. 代码管理工具:Git 和 Svn 的简单操作
  17. CSAPP:第三章程序的机器级表示3
  18. [leetcode]341. Flatten Nested List Iterator展开嵌套列表的迭代器
  19. kafka学习1:kafka安装
  20. 20165225《Java程序设计》第七周学习总结

热门文章

  1. Django2.0中的urlpattern匹配不输入任何网址时的写法
  2. dateutil 2.5.0 is the minimum required version python
  3. 浅谈无参数RCE
  4. AT1983 BBQ Hard 解题报告
  5. jquery的读、写、增、删、查方法
  6. java多线程之volatile关键字
  7. NABCD模型——星遇
  8. Nginx和php交互的两种方式
  9. 使用labelImg制作自己的数据集(VOC2007格式)用于Faster-RCNN训练
  10. 从Evernote大批顶尖高管离职,看处于漩涡中的笔记应用未来前景