Java之字符串处理(一)

一、String 类的创造函数

1、要创造空的string,可以调用默认函数,将创建内部没有任何字符的String实例。例如

String s = new String() ;

而如果要创造一个具有初始值的字符串,可以使用如下构造函数

String(type chars[])

例如:

//构造函数‘abc’初始化s
char chars[] = { 'a ' , 'b' , 'c'};
String s = new String(chars) ;

2、指定字符数组的子范围作为初始化部分

String(char chars[],int startIndex, int numchars)
//startIndex为开始索引的位置,numchars为使用的字符数量

例如:

char chars[] = { 'a','b', 'c', 'd' , 'e' , 'f'};
String s = new String(chars , 2 , 3);

注意:从数组创建String对象都会复制数组的内容。在创建之后,如果修改数组的内容,String对象不会发生变化。

3、StringBuffer和StringBuilder 构造String 实例

二、字符串的长度

为了获取字符串的长度,可以调用length() 方法。例如:

char chars[] = { 'a' , 'b' , 'c'};
String s = new String(chars);
System.out.println(s.length());  

三、字符串操作

1、字符串字面值

前面所使用的显示创建String实例,过程比较复杂,还有更简单的方式,即使用字符串字面值

String s = 'abc';

其调用length() 方法和前面的输出结果是一样的

2、字符串连接

Java中要连接两个字符串,可以使用规则 “+”运算符,它可以连接两个或两个以上字符串,生成一个String 对象作为结果。

String age = "9" ;
String s = "he is " + age + "years old ";
System.out.println(s);
//其输出为 he is 9 years old

注意:Java中不允许为String 对象应用运算符

3、字符串和其他数据类型的连接

类型一:字符串 + 其他类型

在这种状态下,其他类型会被自动转换为相应的字符串表示形式,然后按照字符串形式相连接。

int age = 9 ;
int name = 8 ;
String s = "he is " + age + name;
System.out.println(s);
//其输出为 he is 98

类型二、其他类型 + 字符串

在这种状态下,先把前面的类型计算,然后转换为相应字符串类型并与后面的字符串相连接。

int age = 9 ;
int ages=8;
String s = ages+age + " years old ";
System.out.println(s);
//输出为 : 17 years old

类型三:有比 + 优先的优先级存在

在这种状态下,计算优先级高的,然后再按照规则相连接

int age = 9 ;
int ages=8;
String s = "he is " +(ages + age);
System.out.println(s);
//输出为 he is 17

4、字符串转换和toString()方法

toString()方法的默认实现很少能满足我们的实际需求,所以,经常重写toString()方法。例如

class Box{
	double height;
	double width;
	double depth;
	Box(double w,double h,double d){
		width = w;
		height = h;
		depth = d;
	}
	public String toString() {
		return "toString :" + width +"  " + height + "  "  + depth;
	}
}
public class Main {
	public static void main(String[] args) {
		Box x = new Box(10,12,14);
		String s = "Box :" + x;
		System.out.println(x);
		System.out.println(s);
	}
}
//可以看出,在连接或调用Box对象时,会自动调用其toString()方法

 

你可能感兴趣的:(Java)