黑马程序员--String
来源:互联网 发布:怎样帮淘宝刷好评挣钱 编辑:程序博客网 时间:2024/06/07 04:09
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
首先,应注意的是字符串是个对象,一旦被初始化就不能改变
eg:String s1 =“abc”;
s1 = “bcd“;
注意:这时候是s1的指向变了,但是对象”abc”没变。
字符串常见操作
1,获取。
1.1字符串中的包含的字符数,也就是字符串的长度。
intlength():获取长度。(数组的是length)
1.2根据位置获取位置上某个字符。
charcharAt(int index):
1.3根据字符获取该字符在字符串中位置。
intindexOf(int ch):返回的是ch在字符串中第一次出现的位置。
intindexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中出现的位置。
intindexOf(String str):返回的是str在字符串中第一次出现的位置。
intindexOf(String str, int fromIndex) :从fromIndex指定位置开始,获取str在字符串中出现的位置
intlastIndexOf(int ch):
2,判断。
2.1字符串中是否包含某一个子串。
booleancontains(str):
特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。
所以,也可以用于对指定判断是否包含。
if(str.indexOf("aa")!=-1)
而且该方法即可以判断,有可以获取出现的位置。
2.2字符中是否有内容。
booleanisEmpty():原理就是判断长度是否为0.
2.3字符串是否是以指定内容开头。
booleanstartsWith(str);
2.4字符串是否是以指定内容结尾。
booleanendsWith(str);
2.5判断字符串内容是否相同。复写了Object类中的equals方法。
booleanequals(str);
2.6判断内容是否相同,并忽略大小写。
booleanequalsIgnoreCase();
3,转换
3.1将字符数组转成字符串。
构造函数:String(char[])
String(char[],offset,count):将字符数组中的一部分转成字符串。
静态方法:
staticString copyValueOf(char[]);
staticString copyValueOf(char[] data, int offset, int count);
staticString valueOf(char[]):
3.2将字符串转成字符数组。
char[]toCharArray():
3.3将字节数组转成字符串。
String(byte[])
String(byte[],offset,count):将字节数组中的一部分转成字符串。
3.4将字符串转成字节数组。
byte[] getBytes():
3.5将基本数据类型转成字符串。
staticString valueOf(int)
staticString valueOf(double)
//3+"";//String.valueOf(3);
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
4,替换
Stringreplace(oldchar,newchar);
5,切割
String[]split(regex);
6,子串。获取字符串中的一部分。
Stringsubstring(begin);
Stringsubstring(begin,end);
7,转换,去除空格,比较。
7.1将字符串转成大写或则小写。
String toUpperCase();
String toLowerCase();
7.2将字符串两端的多个空格去除。
Stringtrim();
7.3对两个字符串进行自然顺序的比较。
intcompareTo(string);
StringBuffer字符串容器
容器的操作:CEUD
可以通过容器对字符串进行改变。
容器中存放的也是对象的地址,所以通过对象给对象赋值时二者是相等的
1,存储。
StringBufferappend():将指定数据作为参数添加到已有数据结尾处。
StringBufferinsert(index,数据):可以将数据插入到指定index位置。
2,删除。
StringBufferdelete(start,end):删除缓冲区中的数据,包含start,不包含end。
StringBufferdeleteCharAt(index):删除指定位置的字符。
3,获取。
charcharAt(int index)
intindexOf(String str)
intlastIndexOf(String str)
intlength()
Stringsubstring(int start, int end) //含头不含尾
4,修改。
StringBufferreplace(start,end,string);
voidsetCharAt(int index, char ch) ;
5,反转。
StringBufferreverse();
6将缓冲区中指定数据存储到指定字符数组中。
voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
JDK1.5 版本之后出现了StringBuilder.
StringBuffer是线程同步。
StringBuilder是线程不同步。
以后开发,建议使用StringBuilder
升级三个因素:
1,提高效率。
2,简化书写。
3,提高安全性。
基本数据类型包装类:
1.实现了基本数据类型与字符串之间的相互转换:
基本数据类型转化成字符串:
Eg:IInteger.toString(34);//将34整数变成"34";
字符串变基本数据类型:
Eg: double b =Double.parseDouble("12.23");
其他数据类型转换的时候格式一致只是数据类型变化下。
2.进制间的转换
十进制转成其他进制。
toBinaryString();
toHexString();
toOctalString();
其他进制转成十进制。
parseInt(string,radix);
基本数据类型包装类对象的1.5新特性:
1.自动拆装箱:
Eg:
Integer x = 4;//自动装箱。//new Integer(4)
x = x/* x.intValue() */ + 2;//x+2:x进行自动拆箱。变成成了int类型。和2进行加法运算。
//再将和进行装箱赋给x。
注意:因为是对象所以可以为空:即Interger x =null;
2.享元模式:
Eg:
Integer m = 128;
Integer n = 128;
sop("m==n:"+(m==n));
Integer a = 127;
Integer b = 127;
sop("a==b:"+(a==b));//结果为true。因为a和b指向了同一个Integer对象。
//因为当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net
- 黑马程序员,String练习题
- 黑马程序员-String类
- 黑马程序员 string类型
- 黑马程序员---String类
- 黑马程序员---String类
- 黑马程序员-String类
- 黑马程序员-----String
- 黑马程序员 String类
- 黑马程序员_day13 String。
- 黑马程序员-----String类
- 黑马程序员---String 类
- 黑马程序员----获取String
- 黑马程序员---String 判断
- 黑马程序员---String 转换
- 黑马程序员---String 结尾
- 黑马程序员---string【java】
- 黑马程序员-String类
- 黑马程序员----4String
- 反素数
- 黑马程序员_java基础--多线程
- android UI布局
- 寻找数组中最大的K个数
- 13年7月7日 ACM 第一天培训
- 黑马程序员--String
- cmd运行java
- 全键盘输入法
- 新生赛暑假第一场 解题报告
- [034] 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- ArcGIS 帮助文档行内模型变量替换的示例的一个错误
- Excel地址转换
- linux系统下更改时间
- java中进行二进制,八进制,十六进制,十进制间进行相互转换