String
String一旦被赋值,便不能更改其指向的字符对象,如果更改,则会指向一个新的字符对象。
String的一些常用方法:
- concaat(String str)将str附加到当前的字符串后生成一个新的字符串返回。【没什么用】
String str = "YL";
str.concat("你好!");
Log.i(TAG, str);//结果为YL
Log.i(TAG, str.concat("你好!"));//结果为YL你好!
当String的变量作为参数传递到函数中,即使函数中改变了它的值,但对函数外是没有影响。【这个是String的特例,其他引用类型一般都会产生影响的】。
- 静态方法valueOf()负责将其它的基本数据类型转化为String。
- charAt(int index)得到字符串中指定位置的一个字符
- 转为数组的方法:转化为字节数组getBytes,转换为字符数组
- toCharArray,按正则表达式方式分割成数个字符串数组的方法split。
- replace() 替换
- replace(char oldChar, char newChar)
- replace(CharSequence target, CharSequence replacement)
- replaceAll(String regularExpression, String replacement)//Regular Expression - 正则表达式 查找和替换文本模式的简洁而灵活的表示法。
- trim() 去掉起始和结尾的空格
- toLowerCase() 转换为小写
- toUpperCase() 转换为大写
- length() 取得字符串的长度
- getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
如:
String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);
Java里数字转字符串前面自动补0的实现。
/**
* Java里数字转字符串前面自动补0的实现。
*
*/
public class TestStringFormat {
public static void main(String[] args) {
int youNumber = 1;
// 0 代表前面补充0
// 4 代表长度为4
// d 代表参数为正数型
String str = String.format("%04d", youNumber);
System.out.println(str); // 0001
}
}
StringBuffer
StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)
length()和capacity()
length()计算StringBuffer当前长度,而整个可分配空间通过capacity()方法得到。
ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)
setLength() 设置缓冲区的长度
void setLength(int len)
charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)
getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(”a=”).append(a).append(”!”).toString();
insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定将字符串插入到StringBuffer对象中的位置的下标。
reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()
delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)
replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)
substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)