Java常用类库与工具
3.String类型有什么特点?
答:一旦赋值,便不能更改其指向的字符对象,如果更改,则会指向一个新的字符对象。
4.String什么时候进行值的比较,什么时候进行引用比较?
答:stringA.equals(stringB):进行值比较
stringA==stringB:进行引用比较
5.String与StringBuffer的区别是什么?如何相互转化?
StringBuffer是一个具有对象引用传递特点的字符串对象。
1.//数据类型由String转为StringBuffer
String s = “hello”;
StringBuffer sb = new StringBuffer(s); //调用的构造函数
2.//String也有相反的构造函数
String a = new String(sb);
3.//还可以用StringBuffer的一个方法
String str = sb.toString() ;
借助JDK,查看String和StringBuffer的常用API,编写实例测试API的功能。
public String concat(String str)
"cares".concat("s") return "caress"
"to".concat("get").concat("her") return "together"
一个字符串,表示此对象的字符后跟字符串参数的字符的并置。
public class WW {
public static void main(String[] args) {
String b="cares";
String c=b.concat("s");//return "caress"
System.out.println(c);
String a="to";
String d=a.concat("get").concat("her"); //return "together"
System.out.println(a);
}
}
caress
to
public static String valueOf(int i)
String b;
Integer i=5;
b=String.valueOf(i);
一个字符串表示的 int参数。
public char charAt(int index)
所述char此字符串的指定索引处的值。 第一个char值是索引0 。
String h="dhjk";
int index=1;
//public char charAt(int index);
System.out.println(h.charAt(index));
h
public int length()
String b="cares";
System.out.println(b.length());
5
public int indexOf(int ch)
String b="cares";
System.out.println(b.indexOf('r'));
2
public boolean equalsIgnoreCase(String anotherString)
将此String与其他String比较,忽略案例注意事项。
如果两个字符串的长度相同,
并且两个字符串中的相应字符等于忽略大小写,
则两个字符串被认为是相等的。
String b="cares";
String a="to";
System.out.print(b.equalsIgnoreCase(a));
false
public StringBuffer append(char c)
将char参数的字符串表示法附加到此序列。
该参数附加到此序列的内容。 该序列的长度增加1 。
StringBuffer b=new StringBuffer("cares");
System.out.println(b.append("c"));
caresc
public int capacity()
返回当前容量。
容量是新插入字符可用的存储量,超过此值将进行分配。
StringBuffer b=new StringBuffer("cares");
System.out.println(b.capacity());
21
public StringBuffer delete(int start,int end)
删除此序列的子字符串中的字符。
子串开始于指定start并延伸到字符索引end - 1 ,
或如果没有这样的字符存在的序列的结束。
如果start等于end ,则不作任何更改。
StringBuffer b=new StringBuffer("cares");
System.out.println(b.delete(0, 2));
res
replace(int start, int end, String str)
用指定的String中的字符替换此序列的子字符串中的String 。
子串开始于指定start并延伸到字符索引end - 1 ,
或如果没有这样的字符存在的序列的结束。
第一子串中的字符被去除,然后指定String被插入在start 。
StringBuffer b=new StringBuffer("cares");
System.out.println(b.replace(0, 2, "hh"));
hhres
public StringBuffer reverse()
导致该字符序列被序列的相反代替
StringBuffer b=new StringBuffer("cares");
System.out.println(b.reverse());
serac