Java知识点整理

Java的字符串

2018-01-18  本文已影响0人  程序员必修课
String及常用API

javadoc命令生成文档:

目标HTML文档存储到docDir下,执行以下步骤</br>
切换到包含想要生成文档的源文件目录,如果有嵌套的包,必须切换到包含子目录的目录</br>
如果是一个包,运行命令:</br>

javadoc -d docDir nameOfPackage</br>

多个包生成文档,运行</br>

javadoc -d docDir nameOfPackage1,nameOfPackage2……</br>

如果文件在默认包中,运行</br>

javadoc -d docDir *.java

String是不可变对象

String常量池

Java为了提高性能,静态字符串(字面量、常量、常量连接的结果)在常量池中创建,并尽量使用同一个对象,重用静态字符串

对于重复出现的字符串直接量,JVM会首先在常量池中查找,如果存在,即返回该对象

引用类型的比较重:==用于判断是否为同一个对象,因为比较的是地址,而equals用于判断对象内容是否相同。

String在内存中采用Unicode编码,每个字符占用两个字节;任何一个字符(无论中英文)都算一个字符长度,占用两个字节

使用indexOf实现检索

int indexOf(String str)在字符串中检索str,返回其第一次出现的位置,如果找不到则返回-1

JavaAPI中大多数情况下,凡是使用两个数字表示范围的,通常都是含头不含尾的(左闭右开)

lastIndexOf获取最后一次出现的位置。

subString

subString方法用于返回一个字符串的子字符串

trim

去掉一个字符串左右两边的空字符(包括空格tab等)

charAt

用于返回指定位置的字符

startsWith和endsWith

检测字符串是否已制定字符串开头或结尾</br>
aaa.doc之类的,判断文件类型的时候可以使用endsWith

大小写转换

toUpperCase和toLowerCase</br>
验证码忽略大小写检查的时候经常用到

valueOf

基本类型数据与空字符串拼接可以转换为字符串</br>
另外就是用valueOf方法

字符串性能

StringBuilder封装可变的字符串,对象创建后可以通过调用方法改变其封装的字符序列</br>
当对字符串进行频繁修改的时候应该使用StringBuilder</br>
常用构造方法:</br>
public StringBuilder()</br>
public StringBuilder(String str)</br>

StringBuilder不是字符串</br>
只是用于在做频繁修改字符串的时候使用的类,可以节省不必要的内存开销,提高性能</br>
想将StringBuilder所表示的内容转化为字符串可以调用它的toString()方法
可以有增删改插

StringBuilder append(String str)
向字符串末尾追加新字符串 相当于字符串的 "+" 操作

StringBuilder insert(int index, String str)
向指定位置插入指定字符串,原位置的字符串顺序向后移动

StringBuilder delete(int from, int end)
删除字符串中指定范围内的字符

StringBuilder replace(int from, int end, String str)
将范围内字符串替换为给定的字符串

注意</br>
Java中的字符串连接的过程就是利用StringBuilder实现的

String s = "AB"; String s1 = s + "CDE";</br>
//String s1 = new StringBuilder(s).append("DE").toString();

StringBuffer是线程安全的,同步处理,性能稍慢
StringBuilder是非线程安全的,并发处理,性能稍快

上一篇下一篇

猜你喜欢

热点阅读