您的位置:首页 > 其它

本人对String类的一些理解

2015-05-17 15:01 148 查看
字符串一旦初始化就不可以被改变。

第一种创建String类的方法。

String str = “abc”;


“abc”存储在字符串常量池中。如果常量池中有该字符串就不会创建,没有创建。

字符串定义的第一种方式,并明确字符串常量池的特点。

池中没有就建立,池中有。直接用。

第二种创建String类的方式。

String str1 = new String(“abc”);


第一种和第二种创建有什么区别 ?

第一种创建一个字符串对象在常量池中。

第二种创建两个对象在堆内存中。new是一个对象,一个字符串对象。

常用方法:

按照面向对象的思想对字符串进行功能分类。

“abcd”

1,获取:

1.1 获取字符串中字符的个数(长度).

int length();

1.2 根据位置获取字符。

char charAt(int index);

1.3 根据字符获取在字符串中的第一次出现的位置.

int indexOf(int ch)

int indexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置

int indexOf(String str);

int indexOf(String str,int fromIndex);

根据字符串获取在字符串中的第一次出现的位置.

int lastIndexOf(int ch)

int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置

int lastIndexOf(String str);

int lastIndexOf(String str,int fromIndex);

1.4 获取字符串中一部分字符串。也叫子串.

String substring(int beginIndex, int endIndex)//包含begin 不包含end 。

String substring(int beginIndex);

122

2,转换。

2.1 将字符串变成字符串数组(字符串的切割)

String[] split(String regex):涉及到正则表达式.

2.2 将字符串变成字符数组。

char[] toCharArray();

2.3 将字符串变成字节数组。

byte[] getBytes();

2.4 将字符串中的字母转成大小写。

String toUpperCase():大写

String toLowerCase():小写

2.5 将字符串中的内容进行替换

String replace(char oldch,char newch);

String replace(String s1,String s2);

2.6 将字符串两端的空格去除。

String trim();

2.7 将字符串进行连接 。

String concat(string);

3,判断

3.1 两个字符串内容是否相同啊?

boolean equals(Object obj);

boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。

3.2 字符串中是否包含指定字符串?

boolean contains(string str);

3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。

boolean startsWith(string);

boolean endsWith(string);

4,比较。

compareTo

返回字符之间Unicode值的差值。

特别提醒

String类中的equals复写Object中的equals建立了String类自己的判断字符串对象是否相同的依据。其实就是比较字符串内容。

String s=new String();//等效于String s=” “; 不等效Sting s=null;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息