java String

一旦被初始化就不可以被改变。

String s1 = new String("abc");
String s2 = "abc";
System.out.println(s1==s2);//false
System.out.println(s1.equals(s2));//true

String类复写了Object类中的equals方法,该方法用于判断字符串是否相同。

s1与s2区别?

s2在内存中有一个对象,s1在内存中有两个对象。

String s1 = "abc";
String s2 = new String("abc");
String s3 = "abc";
System.out.println(s1 == s2);//false
System.out.println(s1 == s3);//true

已经存在不能被改变,直接用。

 

获取:

长度:length()

根据索引获取字符:charAt()

根据字符获取索引:可以判断是否包含()

int indexOf(char ch)

int indexOf(char ch, int fromIndex)

int indexOf(String str)

int indexOf(String str, int fromIndex)

反向索引:

改为lastIndexOf就行。

 

判断:

判断开头:boolean startsWith(String prefix) 

是否有内容:boolean isEmpty()  length为0

判断结束:boolean endsWith(String suffix) 

包含:boolean contains(CharSequence s)  

判断内容是否相同:boolean equals(Object anObject)  复写了Object的equals

判断内容是否相同(忽略大小写):boolean equalsIgnoreCase(String anotherString)  

 

转换:

字符数组转成字符串:

        构造函数:String(char[] value);      String(char[] value, int offset, int count) 

        静态方法:static String copyValueOf(char[] data) ;    static String copyValueOf(char[] data, int offset, int count) ;    static String valueOf(char[] data)  

字符串转成字符数组:char[] toCharArray()  

字节数组转成字符串:

        构造函数:String(byte[] value);      String(byte[] value, int offset, int count) 

字符串转成字节数组:byte[] getBytes(String charsetName)  

基本数据类型转化成字符串:static String valueOf(基本数据类型)  

特殊:字符串和字符数组在转换过程中是可以指定编码表的。

 

替换:

String replace(char oldChar, char newChar)  替换的字符不存在,返回原串

 

切割:

 

String[] split(String regex)

 

子串:

String substring(int beginIndex) 到结尾
String substring(int beginIndex, int endIndex)不包含尾

 

转换,去除空格,比较:

 

 String toUpperCase()  转换成大写

String toLowerCase()  转换成小写

String trim()  去除两端空格

int compareTo(String anotherString)  对两个字符串进行自然顺序的比较 大于正 小于负  ASCII值之差

 

 

 

 

 

 

  

 

你可能感兴趣的:(java String)