[关闭]
@frank-shaw 2015-10-29T02:42:52.000000Z 字数 1826 阅读 1811

java中String StringBuffer以及Character知识点

java.基础知识


在做编程笔试题的时候,总是不记得三者之间的转换该是怎样的,弄得一塌糊涂。真的是基础不好啊。。。

这里先总结各个类常用的一些性质,然后再来比较三者之间两两之间的一些转化关系以及一些相关性分析。

String

这是使用最长见的类了,字符串面试经常出现。
它是不可变量,一旦生成,那么加以改变的话就会引申出一个新的String实体。

构造函数有:
String(char[] value)
String(byte[] bytes)
String(String original)
String(StringBuffer sb)
String(StringBuilder sb)

如果是整数想要直接转化为字符串,那么可以尝试使用String.valueOf(int num).
如果是整形数组想要转化为相应的字符串的话,那么可以间接通过StringBuilder来帮忙解决。

常见方法:
char charAt(int index) 返回下标为index的字符
int compareTo(String str) 比较本字符串与指定字符串的字典序大小
String concat(String str) 将字符串str连接到本字符串末尾,原来还有这个功能,我一直以为没有,真的是学的不扎实啊。
int indexOf(char ch) 返回字符ch第一次出现在本字符串的位置
int indexOf(char ch, int fromIndex) 从下标fromIndex开始查找,返回字符ch第一次出现在本字符串的位置
int indexOf(String str) 返回字符串第一次出现在本字符串的位置(如果不存在呢?返回-1)
boolean isEmpty()
int length()
String replace(char oldChar, char newChar)
String replace(CharSequence target, CharSequence replacement)其中的CharSequence是一个接口,String StringBuffer等均实现了该接口。看这个意思就明白了吧。
String substring(int beginIndex)返回子字符串
String substring(int beginIndex, int endIndex) 返回子字符串
char[] toCharArray()
String valueOf()返回任意格式的变量的字符串形式。

StringBuffer

这个有很多函数功能与String是相似的,但是也有很多是其独有的,那个reverse() append() delete() insert()等方法就让人很羡慕好不好,哈哈。但是它没有String的toCharArray() valueOf()这两个很重要的功能。不过可以经过转换获得。

构造函数有:
StringBuffer()
StringBuffer(CharSequence seq)
StringBuffer(int capacity)
StringBuffer(String str)

其中的方法包括:
StringBuffer append() 基本上任何类型都可以append啊,这么吊啊。
char charAt()
int capacity()返回当前类的容量大小,这里的StringBuffer容量的增加还有一些技巧:StringBuffer初始容量为16,不包含初始化时候的字符长度哦。当超过当前容量时,尝试将新容量扩为(大小变成2倍+2 ) if 判断一下 容量如果不够,直接扩充到需要的容量大小;
StringBuffer delete(int start, int end)
StringBuffer deleteCharAt(int index)
int indexOf(char ch) 返回字符ch第一次出现在本字符串的位置
int indexOf(char ch, int fromIndex)
StringBuffer insert(int offset, Object obj) 基本上任何东西都可以insert进来
void reverse()
int length()
void setCharAt(int index, char ch)
String toString()
String substring(int beginIndex)返回子字符串
String substring(int beginIndex, int endIndex) 返回子字符串

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注