11.1 String类
1.构造字符串对象
1)常量对象:字符串常量对象是用双引号扩起的字符序列,例如:"你好"、"12.97"、"boy"等。
2)String类较常用构造方法:
---String(s),
---String (char a[]),
---String(char a[],int startIndex,int count)
2.String类的常用方法
1)public boolean startsWith(String s)
2)public boolean endsWith(String s) :判断当前字符串对象的前缀(后缀)是否是参数s指定的字符串。
3)public int compareTo(String s):按字典序与参数s指定的字符串比较大小
4)public int compareToIgnoreCase(String s)
5)public boolean contains(String s):判断当前字符串对象是否含有参数指定的字符串s
6)public int indexOf (String s):从当前字符串的头开始检索字符串s,并返回首次出现s的位置。
7)indexOf(String s ,int startpoint)
8)lastIndexOf (String s)
9)public String substring(int startpoint):获得一个当前字符串的子串
10)substring(int start ,int end)
11)public String trim():得到一个去掉前后空格后的字符串
3.字符串与基本数据的相互转化
1)public static int parseInt(String s):可以将由“数字”字符组成的字符串
2)类似的,使用java.lang包中的 Byte、Short、Long、Float、Double类调相应的类方法可以将由“数字”字符组成的字符串,转化为相应的基本数据类型。
4.字符串与字符、字节数组
4.1 字符串与字符数组
1)String类的构造方法:String(char[]) 和 String(char[],int offset,int length) 分别用字符数组中的全部字符和部分字符创建字符串对象。
2)String类提供了将字符串存放到数组中的方法:
---public void getChars(int start,int end,char c[],int offset )
3)将字符串中的全部字符存放在一个字符数组中的方法:
---public char[] toCharArray()
4.2 字符串与字节数组
1)String(byte[])用指定的字节数组构造一个字符串对象。
String(byte[],int offset,int length)用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。
2)public byte[] getBytes() 方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。
3)public byte[] getBytes(String charsetName)使用参数指定字符编码,将当前字符串转化为一个字节数组。
11.2 StringBuffer、StringBuilder 类
1.StringBuffer类
String s = new String("我喜欢学习");
StringBuffer buffer = new StringBuffer(“我喜欢学习”);
buffer.append("数学");
2.StringBuffer对象的创建
StringBuffer类有三个构造方法:
---StringBuffer()
---StringBuffer(int size)
---StringBuffer(String s)
3. StringBuffer类的常用方法
StringBuffer append(String s) StringBuffer append(int n)
StringBuffer append(Object o) StringBuffer append(char n)
StringBuffer append(long n),StringBuffer append(boolean n),
StringBuffer append(float n),StringBuffer append(double n),
public chat charAt(int n )
public void setCharAt(int n ,char ch)
StringBuffer insert(int index, String str) :
public StringBuffer reverse()
StringBuffer delete(int startIndex, int endIndex)
StringBuffer replace( int startIndex ,int endIndex, String str)
4.StringBuffer VS StringBuilder
1)StringBuffer 和 StringBuilder非常类似,均代表可变的字符序列,而且方法也一样。
2)String:不可变字符序列
3)StringBuilder:可变字符序列、效率高、线程不安全
4)StringBuffer:可变字符序列、效率低、线程安全
5)String使用陷阱:
string s="a";//创建了一个字符串
s=s+"b";//实际上原来的“a”字符串对象已经丢弃了,现在又产生了一个字符串s+"b";(也就是“ab”)。如果多次执行这些改变穿内容的操作,会导致大量副本字符串对象存留在内存中,降低效率。如果这样的操作放到循环中,会极大影响程序的性能。
11.3 Date&DateFormat类
1.Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。
2.SimpleDateFormat来实现日期的格式化。
public SimpleDateFormat(String pattern);
该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用;
3.public String format(Date date):方法格式化时间对象date