您的位置:首页 > 其它

String类基础知识点汇总

2015-06-05 09:18 399 查看
1.String类

String s1="abc"//s1是一个类类型变量,"abc"是一个对象

字符串最大特点:一旦被初始化就不可以被改变

String类复写了object类中的equals方法,该方法用于判断字符串是否相同

String s1="abc';

String s2=new String("abc");

s1在内存中有一个对象,s2在内存中有二个俩对象

String类适用于描述字符串事物,那么它就提供了多个方法对字符串进行操作

常见的字符串操作有

1.获取

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

int length():获取长度

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

char charAt(int index)

当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException

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

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

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

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

int indexof(String str,int fromIndex);从fromIndex指定位置开始,获取str在字符串中出现的位置

如果没有找到,返回-1;

int lastIndexOf(int ch):3

2.判断

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

boolean contains(str)

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

所以,也可以用于对指定判断是否包含。

if(str.indexOf("aa")!=-1)

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

2.2字符串中是否有内容

boolean isEmpty()

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

boolean startsWith(str);

2.4字符串是否是以指定内容结尾

boolean endsWith(str);

2.5判断字符串的内容是否相同。复写了object类中的equals方法

boolean equals(str)

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

boolean equalsIgnoreCase();

3.转换

3.1将字符数组转成字符串

构造函数:String(char[] value)

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

offset:起始位,count:位数

静态方法:static String copyValueOf(char[]);

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

static String valueOf(char[]);

3.2将字符串转成字符数组

toCharArray();

3.3将字节数组转成字符串(I/O设计)

String(byte[] value)

String(byte[] value,offset,count)

3.4将字符串转成字节数组

getBytes();

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

static String valueOf(int)

static String valueOf (double)

3+"";//String.valueOf(3);

特殊:字符串和字节数组在转换过程中,是可以指定编码表的

4.替换

String replace(oldchar,newchar);

5.切割

String[] split(regex);//使用到了正则表达式,按照指定的regex切割源字符串,然后返回切割所得接到到一个Sting类型的数组中

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

String substring(begin);

String substring(begin,end);

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

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

String toUpperCase();

String toLowerCase();

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

String trim();

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

int compareTo(string) //如果参数字符串等于此字符串,则返回值0;如果此字符串按字典顺序小于字符串参数,则返回一个小于0的值;如果此字符串按字典顺序大于字符串参数,则返回一个大于0的值(该值为字符ASCII值的差值)

注:该功能在后期集合中实现对String数据进行排序时会用到。

StringBuffer是字符串缓冲区

StringBuffer是一个容器(C create U update R read D delete)

特点:1.而且长度是可变化的。

2.可以操作多个数据类型

3.最终会通过toString方法变成字符串

1.存储

StringBuffer append():将指定数据作为参数添加到已有数据的结尾处

StringBuffer insert(index,数据):可以将数据插入到指定index位置

2.删除

StringBuffer delete(int start,int end)//删除缓冲区中的数据,包含头不包含尾

StringBuffer deleteCharAt(index)//删除指定位置的字符

3.获取

char charAt(int index)

int indexOf(String str)

int lastIndexOf(String str)

int length()

String substring(int start,int end)

4.修改

StringBuffer replace(int start,int end,String str)

void setCharAt(int index,char ch);

5.反转

StringBuffer reverse()

6.

void getChars(int srcBegin,int srcEnd,char[] det,int dstBegin)

//将缓冲区中指定数据存储到指定字符数组中

JDK1.5版本之后出现StringBuilder

StringBuffer是线程同步

StringBuilder是线程不同步

Java升级三个因素:1.提高效率 2.简化书写 3.提高安全性

单线程程序使用StringBuilder可以提升效率,如果涉及多线程,使用StringBuffer

基本数据类型对象包装类

byte Byte

short short

int Integer

long Long

boolean Boolean

float Float

double Double

char Character

基本数据类型对象包装类的最常见作用:就是用于基本数据类型和字符串类型之间做转换

基本数据类型转成字符串

基本数据类型+"";

基本数据类型.toString(基本数据类型值)//例:Integer.toString(34)

字符串转成基本数据类型

xxx a =xxx.parsexxx(String)

int a =Integer.parseInt("123");//static方法,类名调用

double d=Double.parseDouble("12.32");

boolean b=Boolean.parseBoolean("true");

Integer i=new Integer("123");

int num=i.intValue();//非静态方法,对象调用

十进制转成其他进制

toBinaString();

toHexString();

toOctalString();

其他进制转成十进制

parseInt(String,radix)

JDK1.5版本后的新特点

Integer x=new Integer(4);

Integer x=4;//自动装箱(x可以赋值为null)

x=x+2;

x.intValue() x进行自动拆箱,变成了int类型,和2进行加法运算。再将和进行装箱赋给x.

Integer m=128;

Integer n=128;

System.out.println("m==n:"+(m==n));//false

Integer a=127;

Integer b=127;

System.out.println("a==b:"+(a==b));//true

注:因为当数值在byte范围内时,对于新特性,如果该数值已经存在,则不会在开辟新的空间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: