------- android培训、java培训、期待与您交流! ----------
String类
String类的常用方法(操作)
String类适用于描述字符串事物。
那么它就提供了多个方法对字符串进行操作。
常见的操作有哪些?
1,获取,
1.1字符串中包含的字符数,也就是字符串的长度。
int length():获取长度。
1.2根据位置获取位置上某个字符。
char charAt(int index):
1.3根据字符获取该字符在字符串中的位置
int indexOf(int ch):返回的是ch在字符串中第一次出现的位置
int indexOf(int ch,fromIndex):从fromIndex指定位置开始 获取ch第一次在字符串中出现的位置。
int indexOf(String str):返回的是str在字符串中第一次出现的位置
int indexOf(String str,fromIndex):从fromIndex指定位置开始 获取str第一次在字符串中出现的位置。
2,判断。
2.1字符串中是否包含一个子串
boolean contains(str);
特殊之处:indexOf(str):也可以用于判断str是否被包含在字符串中,返回-1就不包含。功能与contains相当。
2.2字符中是否有内容
boolean isEmpty():原理就是判断长度length是否为零
2.3字符串是否是以指定内容开头
boolean startsWith(str);
2.4是否是以指定内容结尾
boolen endsWith(str)
2.5判断字符串内容是否相同,复写了Object类中的equals方法。
boolean equals(str);
2.6判断内容是否相同,并忽略大小写。
boolean equalsIgnoreCase();
3,转换。
3.1将字符数组转成字符串
构造函数: String(char[])
String(char[],offset,count):将字符数组中的一部分转成字符串,offset开始,转count个
静态方法: static String copyValueOf(char[]);
copyValueOf(char[] data,int offset,int count)
3.2将字符串转成字符数组
char[] toCharArray();
3.3将字节数组转成字符串
String(byte[])
String(byte[],offset,count):将字符数组中的一部分转成字符串,offset开始,转count个
3.4将字符串转成字节数组
byte[] getBytes();
4,替换。
String replace(oldchar,newchar);
例:String s="abcde";
String s1=s.replace('a','n');
结果:s还是abcde 因为字符串一旦初始化不可以改变 replace返回的是一个新字符串s1
String s2=replace("de","fg");替换字符串
5,切割
String[] split(regex);
例: String s="a,b,w,d,g,e";
String[] arr=s.split(",");//按照","切
6,子串。获取字符串中的一部分
String substring(begin);
String substring(begin,end);
例:String s="abcde";
sop(s.substring(3));de
sop(s.substring(3,4));c 包含头不包含尾。s.substring(0,s.length());整个
7,转换,去除空格,比较
7.1将字符串转成大写或小写
String toUpperCase();
String toLowerCase();
7.2将字符串两端多个空格去除
String trim();
7.3对两个字符串进行自然顺序的比较
int compareTo(string)
class StringDemo
{
public static void main(String[] args)
{
String s1="abc";//s1是一个类类型变量,“abc”是一个对象
//字符串最大特点:一旦被初始化就不可以被改变。
s1="kk";//打印s1是kk,但是不是abc变了,是s1指向了kk而已,abc还存在于内存中。
String s2=new String("abc");//用这种方法再定义一个新的字符串对象
String s3="abc";//s1==s3是true
System.out.println(s1==s2);//结果false,因为这是比较是否为一个对象。
System.out.println(s1.equals(s2));//结果true,因为String类复写了Object类中的equals方法
//该方法时用于判断字符串内容是否相同的。
//s1,s2有什么区别呢?
s1有一个对象
s2有两个对象
}
}
方法演示
class StringMethodDemo
{
public static void method_is()
{
String str="StringDemo.java";
//判断是否以String开头
sop(str.startsWith("String"));
//判断是否为java文件
sop(str.endsWith(".java"));
//判断是否包含Demo
sop(str.contains("Demo"));
}
public static void method_get()
{
String str="abcdefg";
//长度
sop(str.length());//后边定义sop方法
//根据索引获取字符
sop(str.charAt(3));//当访问到字符串超过的角标时会提示角标越界异常
//根据字符获取索引
sop(str.indexOf('a',1));//当访问字符串中不存在的字符时则返回-1
//反向索引一个字符出现的位置
sop(str.lastIndexOf("a"));
}
//Object obj可以任意类型数据都可以往里传,这是1.5的新特性
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
//method_get();
method_is();
}
}