黑马程序员_String类

原创 2013年12月02日 14:18:28

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

             String是java.lang中的一个类即字符串类,它的一个特点就是字符串对象一旦被创建就不可改变,创建的二种方法,一个是String str="abc",另一个是String str=new String("abc") ,前者创建一个字符串对象在常量池中,后者创建一个在常量池中另一个new在堆内存当中。常量池中有的字符串没有就建立,有的就直接拿来用。还需去熟悉String类中的方法,将字符数组或者字节数组可以通过使用String构造函数去完成。           

 private static void stringConstructorDemo2() {
  char[] arr = {'w','a','p','q','x'};
  String s = new String(arr,1,3);  //取角标为1到3的数组换成字符串
  System.out.println("s="+s);
 }

 public static void stringConstructorDemo() {
  String s = new String();//等效于String s = "";  不等效String s = null;
  byte[] arr = {97,66,67,68};  
  String s1 = new String(arr);
  System.out.println("s1="+s1);
 }

下面是String中我们必须掌握的方法,在遇到问题的时候,我需要去知道什么时候要用它,并且写出它的方法。具体掌握我还需要根据需求去敲代码,完成老师的代码举的例子。

* 按照面向对象的思想对字符串进行功能分类。
   * 1,获取:
   * 1.1 获取字符串中字符的个数(长度).
   *   int length();
   * 1.2 根据位置获取字符。
   *   char charAt(int index);
   * 1.3 根据字符获取在字符串中的第一次出现的位置.
   *   int indexOf(int ch)
   *   int indexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
   *   int indexOf(String str);
   *   int indexOf(String str,int fromIndex);
   *    根据字符串获取在字符串中的第一次出现的位置.
   *   int lastIndexOf(int ch)
   *   int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
   *   int lastIndexOf(String str);
   *   int lastIndexOf(String str,int fromIndex);
   * 1.4 获取字符串中一部分字符串。也叫子串.
   *   String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
   *   String substring(int beginIndex);
  

* 2,转换。
   *   2.1 将字符串变成字符串数组(字符串的切割)
   *    String[]  split(String regex):涉及到正则表达式.
   *   2.2 将字符串变成字符数组。
   *    char[] toCharArray();
   *   2.3 将字符串变成字节数组。
   *    byte[] getBytes();
   *   2.4 将字符串中的字母转成大小写。
   *    String toUpperCase():大写
   *    String toLowerCase():小写
   *  2.5  将字符串中的内容进行替换
   *   String replace(char oldch,char newch);
   *    String replace(String s1,String s2);
   *   2.6 将字符串两端的空格去除。
   *    String trim();
   *   2.7 将字符串进行连接 。
   *    String concat(string);
   *
   * 3,判断
   *   3.1 两个字符串内容是否相同啊?
   *    boolean equals(Object obj);
   *    boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
   *   3.2 字符串中是否包含指定字符串?
   *    boolean contains(string str);
   *   3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
   *    boolean startsWith(string);
   *    boolean endsWith(string);
   *   
   * 4,比较。
   *    int compareTo(String[] arr)  返回-1或0或1

StringBuffer是字符缓冲区,用于存储数据的容器,它的特点主要是长度可变的,可以存储不同类型的数据,最终都是转成字符串来使用,而且可以对字符串进行修改。

下面是StringBuffer的一些基本方法 增删改查

* 1,添加:
   *   StringBuffer append(data);
   *   StringBuffer insert(index,data);
   * 2,删除:
   *   StringBuffer delete(start,end):包含头,不包含尾。
   *   StringBuffer deleteCharAt(int index):删除指定位置的元素
   * 3,查找:
   *   char charAt(index);
   *   int indexOf(string);
   *   int lastIndexOf(string);
   * 4,修改:
   *   StringBuffer replace(start,end,string);
   *   void setCharAt(index,char);

StringBuilder  jdk1.5以后出现了功能和StringBuffer一模一样的对象

不同的是:StringBuffer是线程同步的。通常用于多线程;StringBuilder是线程不同步的。通常用于单线程。 它的出现提高效率。

jdk升级无非是为了这3点:
 1,简化书写。
  2,提高效率。
  3,增加安全性。

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

 

黑马程序员_我的Linux基础整理笔记

Linux Linux文件目录和分区 文件目录: /:根目录 /root:存放root用户的相关文件 /home:存放普通用户的相关文件 /bin:存放普通用户的可执行命令 /sbin:...
  • zhengzhongjie1990
  • zhengzhongjie1990
  • 2014年07月05日 17:08
  • 1526

黑马程序员学习笔记 Java的三大框架

如果做javaweb开发,spring是一定要学的,现在主流还是ssh,就是strurs+hibernate+spring,其中hibernate是持久层,用来持久化数据库操作的,如果不喜欢可以学点别...
  • Mr_April
  • Mr_April
  • 2015年07月03日 17:12
  • 1544

黑马程序员—黑马的学习环境没有亲身经历的人是很难体会的!!!

文章来源:黑马程序员,黑马论坛     公元2013年1月10号我拖着沉重的行李箱和对未来的憧憬来到了黑马,公元2013年6月7号我怀抱着满满的知识和对老师的不舍离开了黑马。到现在离开黑马也有一个...
  • heima_28
  • heima_28
  • 2014年08月26日 15:16
  • 1416

黑马程序员--Oracle学习_day06

----------  android培训 、java培训、期待与您交流! ---------- 学习目标:1,理解oracle的pl/sql的概念   2,掌握pl/sql编程技术(...
  • xpaibeyond
  • xpaibeyond
  • 2015年01月16日 14:28
  • 203

黑马程序员—怎么去黑马?吃住问题解答

文章来源:黑马程序员,黑马论坛
  • heima_25
  • heima_25
  • 2014年08月24日 13:24
  • 1142

黑马程序员--一个为进入黑马云六的C++屌丝的28个日夜

首先我要告诉大家,我是一个在大学学了三年C++的人,可能你们会问我,学C++不是挺好的?干嘛突然间要重新学习java呢?况且C++以后的发展不也挺好吗?        我应该怎么回答你们呢?这也是我...
  • heima_hb5
  • heima_hb5
  • 2014年08月22日 08:52
  • 2404

黑马程序员--一段给后者的面试总结

文章来源:黑马程序员, 北京之旅,行北京万事,通百姓生活。其实,我也是个农村出来的孩子,大学没毕业就来北京参加“黑马”,毕业之后,还是没有任何的机遇与机会让我能在那里一展雄威,这就是我们这些菜鸟的悲...
  • heima_hb6
  • heima_hb6
  • 2014年08月24日 13:51
  • 527

黑马程序员:Hibernate基础知识

android培训、java培训
  • u012159707
  • u012159707
  • 2013年09月26日 15:42
  • 587

黑马程序员-Java基础:常用API

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! —-API中常用类总结一、Object类 Object类可以说是所有类的”上帝”,所谓上帝的含义就是造万物,Java中...
  • BlackHorseKevin
  • BlackHorseKevin
  • 2015年08月17日 20:57
  • 564

关于我在黑马程序员培训毕业后的亲身体验

首先申明:我本人已经于2016年5月份在广州传智播客java培训完毕业,和黑马程序员官网没有任何的利益往来,也没有人出钱给我帮他们做软文推广,这是我在黑马程序员的亲身体验,不存在虚构。...
  • wjycgl
  • wjycgl
  • 2017年04月20日 15:27
  • 1659
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员_String类
举报原因:
原因补充:

(最多只允许输入30个字)