----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
String类.
字符串是一个特殊的对象.
特点:一旦被初始化将不能被改变.
public class Demo1 {
public static void main(String args[]){
String s1 = "abc";//s1是一个类类型变量,abc是一个对象
String s2 = new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
}
}
s1与s2的区别?
S1在内存中有一个对象.s2在对象中有两个对象.
public class Demo1 {
public static void main(String args[]){
String s1 = "abc";
s1 = “kk”;
System.out.print(s1)
}
}
S1没变,s1的指向变量.
字符串的判断与获取.
String类适用于描述字符串实物.那么它就提供了多个方法对字符串进行操作.
获取:长度int length(),字符char charAt(int index),位置int indexOf(int ch):(返回的是字符串中第一次出现的位置).int indexOf(int ch,inr fromIndex) :(从fromIndex指定位置开始,获取ch在字符串中出现的位置)
int indexOf(String str):(返回的是str字符串中第一次出现的位置).int indexOf(String str,int fromIndex) :(从fromIndex指定位置开始,获取str在字符串中出现的位置)
public class Demo2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
method_get();
}
public static void method_get(){
String str = "abcdefg";
sop(str.length());
sop(str.charAt(50));//当访问到字符串中不存在的角标是会发生StringIndexOutOfBoundsException
sop(str.indexOf('a',0));
}
public static void sop(Object obj){
System.out.println(obj);
}
}
注意:反向索引原理一样.但是是从右往左数.角标是从左往右数的角标.
判断.
字符串中是否包含某一个字串.
Boolean contains(str):
特殊之处:indexOf(str):可以索引str第一次出现的位置,如果返回-1,表示str不在字符串中存在.所以,也可以用于对指定判断是否包含.
if(str.indexOf(“aa”)!=-1)
字符串是否有内容.
Boolean isEmpty():原理即使判断长度是否为0.
字符串是否是以指定内容开头.
boolean startsWith(str);
字符串是否是以指定内容结尾.
boolean endsWith(str);
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
method_judge();
}
public static void method_judge(){
String str = "method_1.java";
sop(str.startsWith("method"));
sop(str.endsWith(".java"));
sop(str.contains("_1"));
}
public static void sop(Object obj){
System.out.println(obj);
}
}
转换.
将字符数组转换成字符串.
构造函数:String(char[])
String(char[],offset,count)将字符数组中的一部分转成字符串.
静态方法:static String copyValueOf(char[]);
static String copyValueOf(char[] date,int offset,int count)
将字符串转换字符数组.
char[].toCharArray():
将字节数组转成字符串.
String(byte[])
String(byte[],offset,count)
将字符串转成字节数组.
byte[] getBytes();
将基本数据类型转换成字符串.
String valueOf(int)
String valueOf(double)
静态方法:
static String valueOf(int)
Static String valueOf(double)
注:字符串和字节数组在转换过程中,是可以指定编码表的
替换:
String replace(oldchar,newchar);
如果要替换的字符不存在,返回的还是原字符串.
切割:
String[] split(regex);
子串:获取字符串中的一部分.
String substring(begin);从指定位置开始到结尾.如果角标不存在,会出现角标越界异常.
String substring(begin,end);包含头,不包含尾.
转换;
将字符串转换成大写或小写.
String toUpperCase();
String toLowerCase();
将字符串两端的多个空格去除.
String trim();
对两个字符串进行自然顺序的比较.
int compareTo(string);