String类

----------android培训java培训、期待与您交流!----------

1、String类

类位于java.lang.String包中,适合描述与字符串有关是事物,字符串有以下两种定义方式:
(1) String s1 = "abc"; (2) String s2 = new String("abc");
以上两种定义方式的区别:s1代表一个对象,s2有两个对象
字符串最大的特性:一旦被初始化值,其值就不会在发生改变。
注意:String类中覆写了Object类中的equals方法,不再是比较地址值,而是比较具体的内容。

2、字符串的常用操作

常用的操作有: (1) 获取
获取字符串中字符的个数,也就是字符串的长度
int length(); 根据位置获取某个字符 char charAt(int index); 根据字符获取该字符在字符串中第一次出现的位置 int indexOf(int ch);其中的ch接收ASCII码 从指定位置获取字符在字符串中出现的位置
int indexOf(int ch, int fromIndex); 返回的是str子串在字符串中第一次出现的位置
int indexOf(String str); 从指定位置获取子串str在字符串中出现的位置
int indexOf(String str, int fromIndex);
反向索引一个字符出现的位置
int lastIndexOf(int ch);
(2) 判断 字符串中是否包含某一个子串。
boolean contains(String str);
字符串中是否有内容。
boolean isEmpty();
字符串是否以指定内容开头。
boolean startsWith(Sting str);
字符串是否以指定内容结尾。
boolean endsWith(String str);
判断字符串内容是否相同,覆写了Object类中的equals方法
boolean equals(String str);
判断内容是否相同,并忽略大小写
boolean equalsIgnoreCase();
(3) 转换 将字符数组转成字符串
构造函数:String(char[] ch);
String(char[] ch, int offset, int count);将字符数组的一部分转成字符串
静态方法:static String copyValueOf(char[] ch);
static String copyValueOf(char[] ch, int offset, int count);
static String valueOf(char[] ch);
将字符串转成字符数组
char[] toCharArray();
将字节数组转成字符串
构造函数:String(char[] ch);
String(char[] ch, int offset, int count);
将字符串转成字节数组
byte[] getBytes();
将基本数据类型转成字符串。
static String valueOf(int i);
static String valueOf(double d);等等
特殊:字符串和字节数组在转换过程中是可以指定编码表的
(4) 替换
String replace(char oldChar, char newChar)
String replace(string oldStr, String newStr)
注意:如果要替换的内容不存在,那么返回的还是原来的字符串
(5) 切割
String[] split(regex);
(6) 子串,获取字符串中的一部分
String substring(int beginIndex);从指定位置开始切割,一直到结尾
String substring(int beginIndex, int endIndex);从指定位置开始切割,到结束位置,包含头,不包含尾
注意:1、substring(int beginIndex, int endIndex);相当于substring(int beginIndex, str.length());
2、如果传入的索引值大于字符串长度,将引发字符串角标越界异常
(7) 转换,去除空格,比较
将字符串转成大写或小写。
String toUpperCase()
String toLowerCase()
将字符串两端的多个空格去除。
String trim();只能去除字符串的两端空格,无法去除字符串内的空格
对两个字符串进行自然顺序的比较。
int compareTo(String str)
如果参数字符串等于此字符串,则返回值 0;如果此字符串按字典顺序小于字符串参数,则返回一个小于 0 的值;
如果此字符串按字典顺序大于字符串参数,则返回一个大于 0 的值。

3、StringBuffer类

StringBuffer是字符串缓冲区,可看做是一个容器,并且其长度是可变的,StringBuffer可以操作多种数据类型,最终会通过toString()方法变成字符串。
常用的操作有:
(1) 存储
StringBuffer append(数据);将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(int index, 数据);可以将任意类型数据插入到指定index位置。
注意: StringBuffer s1 = new String StringBuffer();
StringBuffer s2 = s1.append(34);
以上代码中的s1与s2是同一个对象。
(2) 删除
StringBuffer delete(int start, int end);删除缓冲区中的数据,包含start但不包含end
StringBuffer deleteCharAt(int index);删除指定位置的字符
清空StringBuffer:s.delete(0, s.length());
(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, intend, String str);根据索引将缓冲区的内容替换成str
void setCharAt(int index, char ch);根据索引将缓冲区中的某个字符换成指定字符
(5)反转 StringBuffer reverse();将字符串缓冲区进行反转

4、StringBuilder类

JDK1.5版本之后出现了StringBuilder类,与StringBuffer相比,StringBuilder是线程不同步的,将该类的实例用于多个线程是不安全的,如果需要这样的同步,则建议使用StringBuffer。 StringBuilder的出现是为了提高效率,在不需要保证线程同步安全性的情况下,,尽量使用StringBuilder。

5、基本数据类型包装类

下表为8种基本数据类型及相应的包装类

基本数据类型包装类的最常用功能是:
(1) 基本数据类型转为字符串类型
基本数据类型+“”;
基本数据类型.toString(基本数据类型值);
(2) 字符串类型 转为 基本数据类型转为
xxx a = Xxx.parseXxx(String);
int a = Integer.parseInt("34");
double d = Double.parseDouble("12.34");
boolean b = Boolean.parseBoolean("true");
(3) 进制转换
toBinaryString();十进制转成二进制
toHexString();十进制转成十六进制
toOctalString();十进制转成八进制
parseInt(String, radix);其它进制转十进制

在JDK1.5之后出现了包装类的新特性,即:
自动装箱操作:
将Integer x = new Integer(4);简化为:Integer x = 4;
自动拆箱操作:
x = x + 2;其中x为Integer类型,自动将其变为int类型与2进行运算,再将运算结果自动装箱为Integer类型

----------Windows Phone 7开发.Net培训、期待与您交流! ----------


更多相关文章

  1. Android开发:Wifi基础
  2. Android(安卓)App兼容android10.0系统需要修改那些东西,看这个就
  3. Android从ftp服务器获取文件
  4. Android(安卓)接入Facebook实现第三方登陆教程(精简版)
  5. http://www.cnblogs.com/
  6. android:用getIdentifier()获取资源Id
  7. Android(安卓)Sensor Framework(狠详)
  8. 获取本应用的本地版本名称
  9. Android中通过网络获取json数据来播放视频

随机推荐

  1. SQL按照日、周、月、年统计数据的方法分
  2. sqlserver数据库大型应用解决方案经验总
  3. 浅谈sqlserver的负载均衡问题
  4. sqlserver中的事务和锁详细解析
  5. sql连接查询中,where关键字的位置讲解
  6. sqlserver性能调优经验总结
  7. Sql Server中清空所有数据表中的记录
  8. 利用SQL语句给字段加注释的方法
  9. sql with as用法详解
  10. sql条件查询语句的简单实例