黑马程序员-String
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
描述: java中的字符串类型描述类,常见的数据类型,很多种语言都有对字符串类型的描述和功能的定义。
特点:一旦被初始化,就固定不变。
对字符串常见的操作如下:
1.获取
1-1 字符串中包含的字符个数,即字符串的长度。 int length() eg:"abc".getLength()
1-2 根据位置获取某个字符 char charAt(int index)
1-3 根据字符获取该字符在字符串中的位置
int indexOf(int char) 返回的是char在字符串中第一次出现的位置。
int indexOf(int char,int fromIndex) 从fromIndex指定位置开始,获取char在字符串中的位置。
int indexOf(String str) 返回字符串str在字符串中第一次出现的位置。
int indexOf(String str,int fromIndex) 从指定位置开始返回str在字符串中出现的位置。
int lastIndexOf(int char) 返回char最后一次出现在字符串中的位置。
2.判断
2-1 字符串中是否包含某一指定的子串
boolean contains(String str)
注:也可以用indexOf方法,如果indexOf方法返回-1,则表示该字符串中不包含指定的子串。
2-2 字符串中是否有内容
boolean isEmpty() 判断字符串是否为空。
2-3 字符串是不是以指定内容开头
boolean startsWith(String str)
2-4 字符串是否以指定内容结尾
boolean endsWith(String str)
2-5 字符串内容是否相同,复写了Object类中的equals方法
boolean equals(String str)
2-6 忽略大小写判断内容是否相同
boolean equalsIgnoreCase(String str)
3.转换
3-1 将字符数组转换为字符串
构造函数方式:String(char[] arr)
String(char[] arr,int offset,int count)将字符数组中的一部分转换为字符串。
静态方法: static String copyValueOf(char[] arr)
static String copyValueOf(char[] arr,int offset,int count)
3-2 将字符串转成字符数组
char[] toCharArray()
3-3 将字符串转成字节数组
byte[] getBytes()字符串在转换字节数组过程中可以指定编码表
3-4 将字节数组转成字符串
new String( byte[] bytes)
new String(byte[] bytes,int offset,int count)
3-5 将基本数据类型转成字符串
static String valueOf(int i)
static String valueOf(double d)
4.替换
4-1替换 String replace(char oldchar,char newchar)
5.切割
5-1切割 String[] split(String regex)
6.截取
6-1截取 String substring(int begin)
String substring(int begin,int end)
7.转换,去除空格,比较
7-1 将字符串转换成大小写
String toUpperCase()
String toLowerCase()
7-2 去除字符串两端空格
String trim()
7-3 对两个字符串进行自然顺序比较
int compareTo(String str)
下面是对字符串String类型的相关拓展与延伸:
1.String s=new String("ab")这句话在内存中创建了几个对象?
分析: 在Java中凡用""括起来的都是字符串常量,也就是说为String对象。
在java中用new关键字会在内存中创建新的对象。
回答: 所以String s=new String("ab")这句话在内存中共创建了两个对象。
2.String s ="a"+"b"+"c"这句话在内存中共创建了几个对象?
回答: 在内存中创建了一个对象。
分析:因为java编译器会对字符串常量表达式做相应优化("a"+"b"+"c"为常量表达式),所以在编译时编译器会将String s ="a"+"b"+"c"优化为 String s="abc"这种形式。因此说String s ="a"+"b"+"c"这句话在内存中共创建了一个对象。
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------