【黑马程序员】javaString类总结和使用

------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

基本信息

String就是java编程语言中的字符串,用双引号引起来的几个字符.如"asd"、"一天"、"sdf123我"。.
字符串的最大特点

String类是final类型的不可变的。如果对String对象做任何改变,都会产生一个新的对象返回,引用指向新引用,原来引用指向的对象没改变。这一点和基本数据类型一样。

package testString;

public class StringDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1="a";
		s1="b";
	}

}

疑问

String不是final的吗?不是不可变的吗?如果从控制台输出S1的内容我们发现S1的内容确实是变了。

   我们知道任何一个字符串都是一个对象,"a"是一个对象,"b"也是一个对象,那么"a"对象改变了吗?

   "a"的内存地址并没有改变,只不过s1的引用指向了另外一个String对象"b".

   下面代码也是这个道理,俩个值相等,但绝对不是一个对象,new关键字就是new出一个新对象来。而

equals这个方法则是比较俩个字符串值相等的方法。



package testString;

public class StringDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String s1="abc";
		String s2=new String("abc");
		System.out.println(s1==s2);
		System.out.println(s1.equals(s2));
	}

}

所以输出结果:

false

true

String类适用于描述字符串事物。

那么它就提供了多个方法对字符串进行操作。

常见的操作有哪些呢?

1.获取

1.1字符串中包含的字符数,也就是字符串的长度。

int length();获取长度的方法。

1.2根据位置获取字符串上某个字符。

char charAt(int index);返回指定索引处的char值。

1.3根据字符获取该字符在字符串中的位置

int indexOf(int ch);返回ch在字符串中第一次出现的位置

int  indexOf(String ch);返回ch在字符串中第一次出现的位置

int indexOf(int ch,int fromIndex);从fromIndex位置开始获取ch出现在字符串中的位置。

int indexOf(String ch,int fromIndex);从fromIndex位置开始获取ch出现在字符串中的位置。

2.判断

2.1字符串中是否包含某一个字串。

boolean contains(str);

特殊之处:indexOf(str);可以索引str第一次出现的位置,如果返回-1。表示该str不在字符串中存在。

所以,也可以用于对字符串的判断是否包含。

使用方法:

if(str.indexOf("aa")!=-1)   如果不等于负一,则表示存在。

而且该方法既可以判断,也可以获取出现的位置。

2.2字符串中是否有内容

boolean isEmpty();判断长度是否为0.

2.3字符串是否是以指定内容开头。

2.4字符串是以什么结尾。

2.5判断字符串的内容是否相等。

boolean equals(str);复写了object中的equals方法

2.6判断内容是否相同,忽略大小写。

boolean equalsIgnoreCase(String str);

3.转换

3.1将字符数组转换成字符串。

构造方法:String(char[])

String(char[],offset,count);将字符数组中的一部分转成字符串。 

静态方法:

static String copyValueOf(char[] data);    

static String copyValueOf(char[] data,int offset,int count);    

3.2将字符串转换成字符数组。

char [] toCharArray();

3.3将字节数组转换成字符串。

String(byte[])

String(byte[],offset,count)

3.4将字符串转换成字节数组。

bytep[] getBytes();

3.5将基本数据类型转换成字符串。

static String valueOf(int i);

static String valueOf(doubled);

4。替换

String replace(oldchar,newchar); 如果要替换的字符不存在,则返回原来的字符串。

5.切割

String [ ] split(regex);

6.获取字符串中的一部分

String substring(begin);

String substring(begin,end);

7.转换,去除空格,比较。

7.1将字符串转换成大写或者小写。

String toUpperCase();//转换成大写

String toLowerCase();//转换成小写

7.2将字符串俩端的多个空格去除。

String trim();

7.3对俩个字符串进行自然顺序的比较。

int compareTo(String);










------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值