-----------------ASP.Net+Unity开发、.Net培训、期待与您交流! -----------------
1,字符串概述:
String类适用于描述字符串事物。
字符串有两种创建方式
String s1 = "abc";
String s2 = new String("abc");
字符串最大的特点就是:一旦被初始化就不可以被改变。
注意:s1和S2有什么区别呢?
s1在内存中有一个对象,而s2在内存中有两个对象。
另外,String类复写了Object类中的equals方法,该方法用于判断字符串内容是否相同。
2,String类中常见方法介绍。
获取
int length() : 用于获取字符串的长度。
char charAt(int index) :根据位置获取位置上的某个字符。
int indexOf(int ch) :根据字符获取字符在该字符串中的位置。
判断
boolean contains(str):判断字符串中是否包含某一个字串。
boolean isEmpty(): 判断字符串中是否有内容。从jdk1.6开始。
boolean startsWith(str):判断字符串是否以指定内容开头。
boolean endsWith(str) :判断字符串是否以指定内容结尾。
boolean equals(str) ;判断字符串内容是否相同,复写Object类中equals方法。
boolean equalsIgnoreCase(): 判断内容是否相同,并忽略大小写。
转换
构造函数
String(char[]),String(char[],offset,count):将字符数组中的一部分转成字符串
静态方法
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset, int count)
static String valueOf(char[])
char[] toCharArray() :将字符串转成字符数组
String(byte[]),String(byte[],offset,count):将字节数组中的一部分转成字符串
byte[] getBytes() :将字符串转成字节数组
static String valueOf(int),static String valueOf(double)将基本数据类型转成字符串。
替换
String replace(oldchar,newchar); 用新字符替换旧字符。
切割
String[] split(regex): 将字符串切割成多个字符字串
字串
String subString(begin),String subString(begin,end) :获取字符串中的一部分
转换,去除空格,比较
String toUpperCase(),String toLowerCase() : 将字符串转成大写或小写
String trim() :将字符串两端的多个空格去除。
int compareTo(String) 对两个字符串进行自然顺心的比较。
3,StringBuffer
StringBuffer是字符串缓冲区,是一个容器
特点:
(1)长度是可变化的
(2)可以操作多个数据类型。
(3)最终会通过toString方法变成字符串
常见操作:CRUD create read update delete
(1)存储
StringBuffer append() 将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据) 可以将数据插入到指定index位置
(2)删除
StringBuffer delete(start,end) :删除缓冲区中的数据,包含start,不包含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( start, end , string)
void setCharAt(index,char ch) 将给定索引处的字符设置为 ch。
void getChars(int srcBegin, int srcEnd, char[] dst,int dstBegin)将缓冲区中
的数据存储到指定字符数组中。
JDK1.5 版本之后出现了StringBuilder。
StringBuffer 是线程同步
StringBuilder 线程不同步
开发过程中,建议使用StringBuilder。
升级三要素:
(1)提高效率
(2)简化书写
(3)提高安全性
4,基本数据类型对象包装类。
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
基本数据类型对象包装类的最常见作用:
就是用于基本数据类型和字符串类型之间做转换
基本数据类型转成字符串
基本数据类型+“”
基本数据类型.toString(基本数据类型值);
如:Integer.toString(34);//将34证书变成“34”。
还有一种,String.valueOf(基本数据类型值)
字符串转成基本数据类型
xxx a = Xxx.paseXxx(String);
int a = Integer.paseInt("123");
double b = Double.paseDouble("123");
boolean b = Boolean.paseBoolean("false");
Integer i = new Integer("123");
int num = i.intValue();
十进制转成其他进制
toBinaryString();
toHexString();
toOctalString();
其他进制转成十进制
parseInt(String s, int radix)
JDK1.5版本以后出现的新特性
自动拆装箱
Integer x = new Integer(4);
Integer x = 4;//自动装修。//new Integer(4)
x=x+2; x进行自动拆箱。变成了int类型,与2进行相加。
注意:
Integer m =128;
Integer n =128;
此处m==n为false
Integer a = 127;
Integer b =127;
a==b 为true。因为a和b指向了同一个Integer对象。
当数值在byte范围内时,对于新特性,如果该数值已经存在,则不会开辟
新空间
-------------ASP.Net+Unity开发、.Net培训、期待与您交流! ------------
详情请查看:www.itheima.com