1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 黑马程序员01_String

黑马程序员01_String

时间:2023-09-17 12:00:28

相关推荐

黑马程序员01_String

String

知识点一:

String概述

String表示字符串,所谓字符串,就是一连串的字符,而且一旦被创建就不能改变。String存放啊与常量池中,使用privatefinalcharvalue[]来实现字符串的存储,也就是说String对象创建之后,就不能再修改此对象中存储的字符串内容,就是因为如此,才说String类型是不可变的.

String对象比较:

单独使用""引号创建的字符串都是常量,编译期就已经确定存储到常量池中;

使用newString("")创建的对象会存储到堆内存中,是运行期新创建的;

使用只包含常量的字符串连接符如"aa"+"bb"创建的也是常量,编译期就能确定,已经确定存储到常量池中;

知识点二:String常用的方法

String():初始化一个新的String对象,使其表示一个空字符序列,并不是返回空(不等于null)。

String(StringBufferbuffer):根据StringBuffer对象来创建String对象

String(StringBuilderbuilder):根据StringBuilder对象来创建String对象

charcharAt(intindex):取字符串中指定位置的字符,index从0开始计算。

Stringconcat(Stringstr):连接字符串,等同于“+”

booleancontentEquals(StringBufferbuffer):若二者包含的字符序列相同时就返回true

booleanequals(Objectobj):将该字符串与指定对象比较,若二者包含的字符序列相等返回true;

booleanequalsIgnoreCase(StringanotherString)将此String与另一个String比较,不考虑大小写

byte[]getBytes():将该字符串转换成byte数组

intindexOf(Stringstr):找出str字符串在该字符串中第一次出现的位置

intindexOf(Stringstr,intfromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始

intlastIndexOf(Stringstr)返回指定子字符串在此字符串中最后一次出现处的索引

intlength():返回当前字符串长度

Stringreplace(charoldChar,charnewChar):返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。

StringreplaceAll(Stringregex,Stringreplacement)使用给定的字符串replacement替换此字符串所有的regex字符串

booleanstartsWith(Stringprefix)测试此字符串是否以指定的前缀开始.

String[]split(Stringregex):把字符串按指定的字符串分隔开

Stringsubstring(intbeginIndex)返回一个新的字符串,从beginIndex开始截取,它是此字符串的一个子字符串

Stringsubstring(intbeginIndex,intendIndex)返回一个新字符串,它是此字符串的一个子字符串;[begin,end)

char[]toCharArray()将此字符串转换为一个新的字符数组

StringtoLowerCase()将此String中的所有字符都转换为小写

StringtoUpperCase()转成大写

staticStringvalueOf(基本类型obj):把基本类型值转成字符串

Stringtrim():忽略字符串前导空白和尾部空白

StringBuffer

知识点一:概述

概念:

StringBuffer是字符串缓冲区,是一个容器。

String与StringBuilder、StringBuffer的区别:

String是不可变类,一旦String对象被创建,包含在对象中的字符序列是不可变的,直到对象被销毁,而StringBuffer与StringBuilder对象则是可变的。

StringBuilder与StringBuffer的区别:

JDK1.5版本之后出现了StringBuilder.

StringBuffer是线程同步。StringBuilder是线程不同步。

以后开发,建议使用StringBuilder

特点:

1、长度是可变化的。

2、可以字节操作多个数据类型。

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

升级的三个因素:

1、提高效率。

2、简化书写。

3、提高安全性。

StringBuffer常用方法:

1、存储

StringBufferappend():将指定数据作为参数添加到已有数据结尾处。

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

2、删除

StringBufferdelete(start,end):删除缓冲区中的数据,包含start,不包含end。

//清空缓冲区。sb.delete(0,sb.length());

StringBufferdeleteCharAt(index):删除指定位置的字符。

3、获取

charcharAt(intindex)

intindexOf(Stringstr)

intlastIndexOf(Stringstr)

intlength()

Stringsubstring(intstart,intend)

4、修改

StringBufferreplace(start,end,string);//用后边的字符串替换部分

voidsetCharAt(intindex,charch);//替换一个字符,不返回

5、反转

StringBufferreverse();//返回StringBuffer

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

voidgetChars(intsrcBegin,intsrcEnd,char[]dst,intdstBegin)

知识点二:

StringBuffer是一个容器,共用一个缓冲区。即共用一个面盆。

代码表现如下:

StringBuffer str1 = new StringBuffer();StringBuffer str2 = new StringBuffer();str1 = str2.append("avba");String ss1 = str1.toString();

最终会通过toString方法变成字符串。没有就会报错

String ss2 = str2.toString();System.out.println(ss1);System.out.println(ss2);

输出结果:avba

avba

知识点三:字符串常见转换

1、将字符数组转成字符串。

形式1:构造函数:String(char[])

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

代码:

public static void main(String ar[]){char[] arr = {'a','b','c','d','e','f'};String s1= new String(arr);String s2= new String(arr,1,3);sop("s="+s1);sop("s="+s2);}

形式2:

静态方法:

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

2、将字符串转成字符数组

char[]toCharArray():

例如:Strings4="zxcvbnm";

char[]ch=s4.toCharArray();

3、将字节数组转成字符串。

String(byte[])

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

4、将字符串转成字节数组。

byte[]getBytes():

5、将基本数据类型转成字符串。

staticStringvalueOf(int)

staticStringvalueOf(double)

3+""效果等同于String.valueOf(3)返回字符串3

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。