黑马程序员——String类

来源:互联网 发布:我的世界pc手机版js 编辑:程序博客网 时间:2024/05/20 12:23

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

String类
概述:

Java 程序中的所有字面值(string literals),即双引号括起的字符串,如"abc",都是作为String类的实例实现的。String是常量,其对象一旦构造就不能再被改变。换句话说,String对象是不可变的,每一个看起来会修改String值的方法,实际上都是创造了一个全新的String对象,以包含修改后的字符串内容。String对象具有只读特性,指向它的任何引用都不可能改变它的值,因此,也不会对其他的引用有什么影响。

初始化
字符串初始化后就不可以被改变。
String str1 = "abc"
String str2 = new String("abc")
这两者之间的区别
str1在内存中有一个对象("abc")。
str2在内存中有两个对象("abc"、"String") :String str2= new String(“abc”);实际上创建了两个String对象,一个是”abc”对象,存储在常量空间中,一个是使用new关键字为对象str2申请的空间。

String的常见操作:

1.获取

1.1获取字符串中字符数,也就是字符串的长度。

int length():返回字符串的长度。

1.2根据指定位置获取字符串中的字符。

char charAt(int index):返回指定位置index的字符。

1.3获取字符串的字串

String substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。

String substring(int beginIndex,int endIndex):返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex处开始,直到索引endIndex-1处的字符。

1.4根据字符获取字符在字符串的位置。

indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。

indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。

indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。

int indexOf(String str,int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引。

int lastIndexOf(int ch, int fromIndex):返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处的索引。

int lastIndexOf(String str,int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

2判断

2.1 判断字符串中是否包含某一个字串。

boolean contains(CharSequence s):当且仅当此字符串包含指定的char值序列时,返回true。

2.2 判断字符串是否有字符。

boolean isEmpty():当且仅当length()为0时返回true。

2.3 判断字符串是不是以指定内容开头。

boolean endsWith(String suffix):判断此字符串是否以指定的后缀结束。

2.4 判断字符串是不是以指定内容结尾。

boolean startsWith(String prefix):判断此字符串是否以指定的前缀开始。

2.5 判断字符串的内容是否相等。

boolean equals(Object anObject):将此字符串与指定的对象比较。

boolean equalsIgnoreCase(String anotherString):将此String与另一个String 比较,不考虑大小写。如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。

3转换

3.1 将字符串转换成字符数组。

char[] toCharArray():将此字符串转换为一个新的字符数组。

3.2 将字符数组转换成字符串。

String 构造函数:

String(char[] value)

将字符数的一部分转换为字符串

String(String(char[] value, int offset,int count):value-作为字符源的数组、offset-初始偏移量、count-长度。

静态方法:

static String copyValueOf(char[] data):返回指定数组中表示该字符序列的String。

static String copyValueOf(char[] data,int offset,int count):返回指定数组中表示该字符序列的String,data-作为字符源的数组、offset-初始偏移量、count-长度。

3.3 将字符串转换成字节数组。

byte[] getBytes():使用平台的默认字符集将此 String编码为byte序列,并将结果存储到一个新的 byte 数组中。

byte[] getBytes(Charset charset):使用给定的charset将此String编码到byte序列,并将结果存储到新的byte数组。

3.4 将字节数组转换成字符串。

String 构造函数:

String(byte[] bytes)

将字节数组的一部分转换为字符串

String(byte[] bytes, int offset,int length):byte-作为字节源的数组、offset-初始偏移量、length-长度。

3.5 将基本数据类型转换为字符串。(int、float、double、object、char、char[]、boolean)

static String valueOf(基本数据类型 类型变量)

4替换

4.1  String replace(char oldChar,char newChar):返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。

5切割

5.1 String[] split(String regex):返回根据regex切割的字符串数组。

6转换大小写、比较、去空格

6.1 String toLowerCase():使用默认语言环境的规则将此String中的所有字符都转换为小写。

6.2 String toUpperCase():使用默认语言环境的规则将此String中的所有字符都转换为大写。

6.3 String trim():将字符串两端的空格去掉。

6.4 int compareTo(String anotherString):对两个字符串进行自然顺序的比较。

字符串的简单操作

示例代码:

package StringDemo;public class StringDemo{//去掉字符串两端的空格。public static String trim(String str){int start = 0;int end = str.length()-1;while(start<=end && str.charAt(start)==' ')start++;while(start<=end && str.charAt(end)==' ')end--;return str.substring(start, end);}//字符串反转public static String reverse(String str) {char[] ch = str.toCharArray(); //获取for(int start=0,end=ch.length-1;start<end;start++,end--){char temp = ch[start];ch[start] = ch[end];ch[end] = temp;}return new String(ch);}//获取两个字符的最大相同字符串。public static String GetMaxSubstring(String s1, String s2){String MaxString = (s1.length()>s2.length())?s1:s2;String MinString = (MaxString==s1)?s2:s1;for(int x=0; x<MinString.length(); x++){for(int y=0 , z=MinString.length()-x; z!=MinString.length()+1; y++, z++){String temp = MinString.substring(y, z);//sop(temp);if(MaxString.contains(temp)){ return temp;}}}return "失败";}//分割文件名的扩展名和文件名。public static void subString(String str){int index = str.lastIndexOf('.'); //得到"."在字符串中最后出现的位置。String name = str.substring(0, index); //把字符串的index位置以下的字符截取出来就是文件名字。String file = str.substring(index+1, str.length()); //把字符串的index+1到字符串的最后位置截取出来就是文件的扩展名。sop(name);sop(file);}public static void sop(String str){System.out.println(str);}public static void main(String[] args){String str = "asd.java";sop(trim(str));sop(GetMaxSubstring(str, "as"));subString(str);subString(str);}}

0 0
原创粉丝点击