您的位置:首页 > 职场人生

黑马程序员——JAVA中的字符串

2014-07-25 08:35 225 查看
在编程中我们常常会用到一种数据类型叫字符串,我们上网发帖的标题、正文都是字符串。因为要经常使用,所以封装成一个对象。在JAVA中描述字符串的是java.lang包中的类叫做String。

一、字符串的创建与初始化

1、使用字符串常量初始化,例: String str="abc";

2、使用String类的构造函数初始化,该类有多个构造函数,常用的有:

String() //初始化一个对象,表示空字符序列。

  String(value);//利用已存在的字符串常量创建一个新的对象

例:String str=new String("abc");

  String (char[] value);//利用一个字符数组创建一个字符串

  String(char[] value,int offset,int count);//截取字符数组offset到count的字符创建一个非空串

  String(StringBuffer buffer);//利用StringBuffer对象初始化String对象

注:字符串创建初始化后就不可以被改变。

二、String类中常用的方法

1、获取字符串的长度——public int length()。

例:int len=str.length();

2、比较字符串

(1) equals() //判断内容是否相同

  (2)== //判断内容与地址是否相同

  (3)equalsIgnoreCase() //忽略大小写的情况下判断内容是否相同

注:equals和==比较的内容不同,应区分开;

public class bijiao {
public static void main(String[] args) {
String str1="abc";
String str2="aBc";
String str3=new String("abc");
String str4=str1;

System.out.println(str1.equals(str3));
System.out.println(str1==str3);

System.out.println(str1.equals(str4));
System.out.println(str1==str4);

System.out.println(str1.equalsIgnoreCase(str2));
}

}

在上面的例子中,str1和str3的内容相同,地址不同。

3、字符串的查找操作

(1)public char charAt(int index); //返回指定索引index位置上的字符,索引范围从0开始

(2)public int indexOf(String str); //从字符串开始检索str,并返回第一次出现的位置,未出现返回-1

(3)public int indexOf(String str,int fromIndex); //从字符串的第fromIndex个字符开始检索str

(4)public boolean contains(CharSequence s); //如果只关心字符串中是否有某个字符而该字符的位置并不重要则用此方法

4、字符串的替换

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

  (2)public String replace(CharSequence target,CharSequence replacement); //把原来的etarget子序列替换为replacement序列,返回新串

  (3)public String replaceAll(String regex,String replacement); //用正则表达式实现对字符串的匹配

(4)public String replaceFirst(String regex,String replacement); //替换此字符串匹配给定的正则表达式的第一个子字符串

(5)public String toLowerCase(Locale locale); //所有字符转为小写

  (6)public String toUpperCase(); //所有字符转为大写

5、字符串的转换

(1)public char[] toCharArray(); //将字符串转换为字符数组

(2)public String[] split(String regex); //根据给定正则表达式的匹配拆分此字符串,形成新的字符串数组。

三、可变字符串

在JAVA中,定义可变字符串可以使用StringBuffer和StringBuilder。StringBuffer是线程安全的,但效率低;StringBuilder是线程不安全的,但效率高。

由于这二者的API使用是一样的,我们就以StringBuffer为例来学习可变字符串。

  (1)向可变字符串中添加字符,public StringBuffer append(type t);

  (2)插入字符,public StringBuffer insert(int offset,type t);//在offset处加入类型为type的字符串

  (3)反转,public StringBuffer reverse();

  (4)删除,public StringBuffer delete(int start,int end);

  (5)减少用于可变字符序列的存储空间,public void trimToSize();

  (6)StringBuffer类转换成String类,public String toString();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: