黑马程序员---Java基础总结---String

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

字符串最大的特点:一旦被初始化就不可以被改变。例如

{
String S1=“abc”;
S1="kk";//这里打印S1为“kk”,但是是S1指向了kk,abc没有改变。
}
String类复写了Object类中的equals方法,该方法用于判断字符串内容是否相同。(object类中equals方法比较的是地址值)
String s1=“abc”;和String s2=new String("abc");的区别 s1在内存中有一个对象。s2在内存中有两个对象。
字符串的常见操作:
1、获取
   字符串中的包含的字符数,字符串的长度。int length();注意是方法 有小括号。
   根据位置获取位置上的某个字符。char charAt(int index);
   根据字符获取该字符在字符串中的位置。int indexOf(int ch);ch为ASCII码值。第一次出现的位置。int indexOf(int ch,int fromIndex);从fromIndex位置开始查找。int indexOf(String str,String fromIndex);从fromIndex位置处开始获取字符串str的位置。
   获取时注意角标越界异常。没有匹配对象,返回值为-1.lastIndexOf(int ch)反向索引查找,角标不变。
2、判断
   字符串中是否包含一个子串。boolean contains(str);特殊之处:indexOf(str)可以索引str第一次出现的位置如果返回值为-1.则表示str不在字符串中存在。
   字符串中是否有内容。boolean isEmpty();
   字符串是否以指定内容开头。boolean startsWith(str);
   字符串是否以指定内容结尾。boolean endsWith( str);
   判断字符串的内容是否相同。boolean equals(str);
   判读字符串的内容是否相同,不考虑大小写。boolea equalsIngoreCase();
3、转换
   将字符数组转成字符串。构造函数 String(char[])和 String(char[],offset,count)从offset开始,取count个转换。静态函数:static String copyValueof(char[])和 static String copyValueof(char[],int offset,int count)
   将字符串转成字符数组。
   char[] toCharArray();
   将字节数组转成字符串。
    String(char[])和 String(char[],offset,count)从offset开始,取count个转换。
   将字符串转成字节数组。
   byte[] getBytes();
   将基本数据类型转成字符串:static String valueOf(int ) static String valueOf(double )
   特殊:字符串和字节数组转换过程中,是可以指定编码表的。
4、替换
   String replace (olchar,newchar);如果替换的不存在,还会返回原字符串。
5、切割
   String[] split(regex);
6、子串:获取字符串中的一部分。
   String substring(begin);从begin开始到结尾。
   String substring (begin,end);包含头 不包含尾。
7、转换、去除空格、比较。
   将字符串转成大写或则小写:String toUpperCase() String toLowercase();
   将字符串两端的多个空格去除。String trim();
   对两个字符串进自然顺序的比较。int compareTo(string);
StringBuffer:是一个容器,字符串缓冲区,而且长度可以变化,可以操作多种数据类型,最终会变成字符串。(toString()方法)
1、存储
   StringBuffer append();将指定数据添加到已有的数据后面。
   StringBuffer insert(index,数据);将指定数据添加到指定位置。
2、删除
   StringBuffer delete(start, end)删除缓存区中的数据,包含头,不包含尾。
   StringBuffer deleteCharAt(index) 删除指定位置的数据。
3、获取
    char charAt(index) int indexOf(String str) int lastIndexOf() int length() String substring(start, end)
4、修改
    StringBuffer replcae(begin end str);
    void setCharAt(int index,char ch);
5、反转
   StringBuffer reverse(str);
6、将缓冲区中的指定数据存到指定数组中
    void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
 StringBuilder:JDK 1.5版本之后出现。线程不同步。(StringBuffer 线程同步)可以提高效率。建议使用StringBuilder。
 基本数据类型包装类:
 byte-Byte  short-Short int-Integer long-Long boolean-Boolean float-Float double-Double char-Character
基本数据类型对象的包装类最常见作用:基本数据类型和字符串类型之间的转换。
基本数据类型转成字符串。
 基本数据类型.toString(基本数据类型值);
 如:Integer.toString(34);将整数34转成字符串“34”;
字符串转成基本数据类型。
  基本数据类型.parse基本数据类型();//必须传入数字格式的字符串
  Integer.parseInterger("123");
十进制转成其他进制
  toBinaryString();
  toHexString();
  toOctalString();
其他进制转成十进制
  parseInt(string,radix); radix 被转换的进制。
JDK 1.5之后新特性:自动装箱
例如:Integer x=4;//自动装箱 等价于 Integer x=new Integer(4);
      x=x+4;//x+2 x进行自动拆箱,变成int型,和2相加。在将运算结果装箱赋给x.
      Integer m=128;
      Integer n=128;//这里m==n为假因为超过了byte数值得范围,会开辟新的空间。
      Integer a=127;

      Integer b=127;//a==b为真,新特性里面,不会开辟新的空间。指向同一个对象。

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值