Java程序员

Java | String类

2017-10-29  本文已影响5人  夏沐清溦FL

一、String类的两种实例化方法

1.利用String类中提供的构造方法来生成对象

String(Stringoriginal)可以直接接收一个String类的对象,重新实例化一个新的String对象。

String s1 = new String(“abc”);

2.还可以采用直接赋值的方式进行对象的实例化

String s2 =“abc”;

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr1=newString("hello");//String类中提供的构造方法构造str1对象

Stringstr2="world";//字符串直接赋值的方式构造str2对象

System.out.println(str1+" "+str2);

}

}

二、字符串的比较

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr1=newString("hello");//String类中提供的构造方法构造str1对象

Stringstr2="hello";//字符串直接赋值的方式构造str2对象

Stringstr3=str1;

System.out.println("str1==str2------>"+ (str1==str2));//false

System.out.println("str1==str3------>"+ (str1==str3));

System.out.println("str2==str3------>"+ (str2==str3));

}

}

实际上“==”运算符,比较的是两个对象在内存中的地址是否相同。如果想比较字符串的内容是否相等,需要使用String类中的方法equals()。这个方法是比较两个字符串的内容是否完全相同。

此方法的定义如下:(查API文档)

public boolean equals(Object anObject)

      利用equals方法比较三个字符串的内容是否两两相同

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr1=newString("hello");//String类中提供的构造方法构造str1对象

Stringstr3=str1;

System.out.println("str1==str2------>"+ (str1.equals(str2)));//false

System.out.println("str1==str3------>"+ (str1.equals(str3)));

System.out.println("str2==str3------>"+ (str2.equals(str3)));

}

}

三、一个字符串常量实际上就是一个String类的匿名对象

一个字符串是使用“”括起来的一串字符,一个字符串本身就是一个String类的匿名对象

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr2="hello";//字符串直接赋值的方式构造str2对象

System.out.println("hello".equals(str2));

}       }

四、字符串常用操作方法

1.字符与字符串

在c中字符串实际上就是字符数组,表示一组字符

。根据字符串中的索引位置找到指定位置的字符

public charcharAt(int index)index下标是从0开始的

。将字符串变为字符数组

public char[]toCharArray()

。将字符数组变为字符串

publicString(char[] value)

public String(char[] value, int offset, int count)

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr="hello world";

charc=str.charAt(0);

System.out.println(c);

charch[] =str.toCharArray();

for(inti=0;i

System.out.print(ch[i]+" ");

Stringstr1=newString(ch);

System.out.print("\n");

System.out.println(str1);

Stringstr2=newString(ch,0,5);

System.out.println(str2);

}       }

2.字节与字符串

字符串和字节数组之间可以相互转换

String-àbyte[]

public byte[]getBytes()

byte[]àString

publicString(byte[] bytes)


3.判断字符串的开头和结尾是否为指定字符串

开头:public booleanstartsWith(Stringprefix)

结尾:public booleanendsWith(Stringsuffix)

经常会用在验证操作中

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr="**hello world##";

System.out.println(str.startsWith("**"));

System.out.println(str.endsWith("##"));

}    }

4.字符串中的内容替换

publicStringreplaceAll(Stringregex,Stringreplacement)

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr="hello world";

StringnewStr=str.replaceAll("l","x");

System.out.println(newStr);

}    }

5.字符串截取

全部截取:publicStringsubstring(int beginIndex)

部分截取:publicStringsubstring(int beginIndex, int endIndex)

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr="hello world";

Stringstr1=str.substring(6);

System.out.println(str1);

Stringstr2=str.substring(0,5);

System.out.println(str2);

}    }

6.字符串拆分

可以将字符串按照指定的内容拆分成字符串数组

publicString[]split(Stringregex)

将字符串“Hello world zhang san”,以空格拆分成四个单词

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr="hello world zhang san";

Strings[] =str.split(" ");

for(Stringst:s){

System.out.println(st);

}    }    }

7.字符串查找

在一个字符串中查找是否存在指定的内容

取得指定字符串的位置

public intindexOf(Stringstr)

public int indexOf(Stringstr, int fromIndex)

publicclassStringDemo1 {

publicstaticvoidmain(String[]args){

Stringstr="hello world";

System.out.println(str.indexOf("l"));//l第一次出现的位置

System.out.println(str.indexOf("l",5));//在第5个位置之后l出现的位置

}    }

上一篇 下一篇

猜你喜欢

热点阅读