黑马程序员_String类

Posted on 2013-03-17 16:29  我是王琦  阅读(212)  评论(0)    收藏  举报

 String类总结

String 是一个字符串;
在java API文档中这么定义的String类


public final class String extends Object 可以看到String 是被fina修饰的,表示String 一旦被初始化时不能够被改变的。字符串是一个常量。

String 的初始化
String s1="abc";
String s2=new String("abc");
s1和s2的区别?
s1在内存中有一个对象
s2在内村中有两个对象

字符串复写了Object的equals方法,判断的是字符串的内容是否相同,而不是判断的两个字符串的内存地址值
例:String str1="java1";
  String str2=new String("java1");
  String str3="java1";
  System.out.println(str1.equals(str2));打印结果为true;
  System.out.println(str1==str2);打印结果为false;表示str1和str2并不相等,不是同一个对象。
  System.out.println(str1==str3);打印结果为true;
总结:在java虚拟机在操作字符串时,如果内存中已经存在相同的字符串,就不再创建相同的对象,节约资源,把字符串的引用指向相同对象即可。
   字符串在内存中存在于常量池中。比较字符串内容是否相同用equals方法。判断字符串是否为同一个对象,用“==” 字符串常见操作
int length();获取字符串长度 char charAt(int index);获取指定位置的字符
int indexOf(char ch);获取指定字符在字符中第一次出现的索引
int indexOf(char ch,indexFrom from);从指定开始获取ch在字符串中的位置。

int indexOf(String str);返回字符串的字串出现的位置。
int indexOf(String str,indexOf from);从指定位置获取str字串位置。
int LastIndexOf(int ch);返回指定字符在此字符串中最后一次出现处的索引

String subString(int beginIndex);从指定位置开始,返回字符串子字符串
String subString(int beginIndex,int endIndex);返回一个子字符串,从begin到end
String replace(char a,char b);将字符串中a替换成b;


String replace(String str1,String str2);替换字符串


String split(String str);切割字符串

boolean isEmpty();判断字符串是否为空,当且仅当length()为0时返回true,是1.6才有的。
boolean endsWith(String suffix);测试此字符串是否以指定的后缀结束。
boolean startsWith(String suffix);测试此字符串是否以指定的前缀开始。
boolean contains(String str) 判断str是否为此字符串的字串。
boolean equals(String str) 判断字符串内容是否相同
boolean equalsIgnoreCase(String str)判断字符串内容是否相同,忽略大小写



StringBuffer类
java API 文档是这么定义的,
public final class StringBufferextends
Object
StringBuffer是字符串缓冲区,是一个容器,
特点:
1,而且长度是可变化的
2,可以直接操作多种数据类型
3,最终转换成字符串
主要方法:
1,存储
  查看API文档可以发现append()和insert方法大面积重载,

  StringBuffer append(数据);将制定数据添加到容器末尾
  StringBuffer insert(参数列表),向StringBuffer容器中插入元素。
  StringBuffer insert(int index,数据);将制定数据插入到容器指定位置。
2,删除

  StringBuffer delete(int start,int end);删除缓冲区中的数据,包含start,不包含end
  StringBuffer delete(int index)删除指定位置的字符
    
3,修改
  StringBuffer replace(int start, int end, String str);替换从start到end为str
  void setCharAt(int index,char ch);替换指定位置字符为ch;  

  StringBuffer reverse();反转字符串。
4,获取
  用法和String一样。
  char charAt();
  int indexOf();
  lastIndexOf();
  String substring(int start,int end)

StringBuilder类:在JDK1.5版本之后出现
StringBilder类提供一个与 StringBuffer 兼容的 API,但不保证同步

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3