黑马程序员技术交流社区

标题: String 类 [打印本页]

作者: 434510655    时间: 2013-2-22 11:44
标题: String 类
 ------- <a  target="blank">android培训</a>、<a  target="blank">java培训</a>、期待与您交流! ----------
String 类
String的两种实例化方式
        String本身是一个类,在String类中定义了如下的构造方法:public String(String original)
        可以接收一个String类的对象,并重新实例化String对象,除了此方法之外String还可以采用直接赋值的方式进行对象的实例化。
public class StringD{
public static void main(String args[]){
String stra="hello";//通过构造方法完成
String strb=new String("hello");//进行字符串的连接操作
}
}
此时,证明两个String类型对象都实例化。
String的比较方式
        现在假设如下的一道程序,观察String的比较问题:
public class Stringde{
public static viod main(String args[]){
String stra="hello";//使用直接赋值的方式完成
String strb=new String("hello");//进行字符串的连接操作
string strc=strb;
System.out.println(stra==strb);//false
System.out.println(stra==strc);//false
System.out.println(strc==strb);//false
}
}
从内存关系图可以得出一个结果,实际上对于"=="比较的是两个对象的地址是否相等,具体的来讲实际上比较的是地址的值,因为地址是以数值的形式存在的。
但是现在真正要比较的是不是地址的值,而是两个字符串的内容,所以现在就需要使用String类中的equals()方法完成比较,此方法定义如下:
public boolean equals(String str)
使用equals如下:
public class Stringde{
public static viod main(String args[]){
String stra="hello";//使用直接赋值的方式完成
String strb=new String("hello");//进行字符串的连接操作
string strc=strb;
System.out.println(stra.equals(strb));//true
System.out.println(stra.equals(strc));//true
System.out.println(strc.equals(strb));//true
}
}
String的常用操作方法
在各个语言中实际上一个字符串就是表示一组字符
所以在String类中提供了以下的方法操作字符与字符串间的转换关系:
        根据字符串的索引找到指定位置的字符:public char charAt(int index)
        将字符串变为字符数组:public char[] toCharArray()
        将字符数级变为字符串:
                将全部的字符数级变为String类型:public String(char[] value)
                将部分的字符数组变为String类型:public String(char[] value,int offset,int count)

字节与字符串
        与字符数组的操作一致,一个字符串也可以变为字节数组,一个字节数组也可以变为字符串:
        Stirng -> 字节数组:public byte[] getBytes()
        字节数组 -> String:
                全部:public String(byte[] bytes)
                部分: public String(byte[] bytes,int offset,int length)

判断是否以指定的字符串开头或结尾
        判断是否以指定的字符串开头:public boolean startsWith(String prefix)
        判断是否以指定的字符串结尾:public boolean endswith(String suffix)

替换操作
        使用以下的方法可以完成替换的操作:public String replaceAll(String regex,String replacement)
字符串截取
        使用以下的两个方法可以完成字符串的截取操作:
                合部截取:public String substring(int beginIndex)
                部分截取:public Sring substring(int beginIndex,int endIndex)
字符串拆分、
        可以将字符串按照指定的内容进行拆分操作:public String[] split(String regex)

字符串查找
        如果需要在一个字符串中查找是否存在指定的内容,可以使用以下的两个方法:
        取得指定字符串的位置:public int indexOf(Sting str)、public int indexOf(String str,int fromIndex)此方法返回int型数据,如果查找到了则返回位置,查找不到,返回-1
        直接查找:public boolean contains(String s)
       
字符串的其他操作
        去掉左右空格:public String trim()
        取得字符串长度:public int length()
        转大写:public String toUppperCase()
        转小写:public String toLowerCase



作者: 职业规划-张琼老师    时间: 2013-2-22 13:41
日记要写在博客里面,不要在论坛发帖。如有不理解请联系咨询老师。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2