`
O.Lions
  • 浏览: 36926 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

谈谈String和StringBuffer

    博客分类:
  • J2SE
阅读更多

String类和StringBuffer类主要用来处理字符串的。

       两个类提供了很多字符串的实用处理方法。

String类是不可变的,一个String对象包含的字符串内容是永远不会被改变的

StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内内容可以被添加和修改。 

String类的常用方法:

         1: length(): 返回字符串的个数

          2:char charAt(int index): 返回字符串index位置上的字符。

          3:getChars(int srcBegin,int srcEnd,char dst[ ] ,int dstbegin): 从当前的字符串拷贝若干字符到参数

               指定的字符数组 dst[ ] 中。 从srcBegin位置开始取字符,到srcEnd -1位置结束,dstbegin 为提取字符

               存放到字符数组中的起始位置。如果参数 dst 为null ,则会抛出  “空指针”异常 。

                                                 String s="0123456";


                                                char[] chars=new char[3];


                                                s.getChars(1,4,chars,0);


                                    for(int i=0; i<chars.length;i++)    {
                                                  System.out.println(chars[i]);
                                     }

                 4: equals(object str)和 equalsIgnoreCase(object str):  判断两个字符串对象的内容是否相同。

                          两个方法的区别在于:equalsIgnoreCase(object str)方法不区分字母的大小写,而equals  

                         (object str)方法则区分字母的大小写。

              5:indexOf() 和lastIndexOf(): 在字符串中检索特定字符或子字符串。 前者从字符串的首位开始查找,

                     后者从字符串的末尾开始查找。如果找到,就返回匹配的“位置”。

               6: concat(String str): 把字符 str 附加在当前字符串的末尾。这个方法不会改变字符串的内容。

              7:substring(); 返回一个字符串的一个子字符串,两种重载形式:

                           public String substring(int beginIndex)

                           public String substring(int beinIndex, int endIndex)

              8: replace(String  a, String b) : 讲字符串的 a 替换成为 b .

                  replaceAll(String regex, String replacement) : 替换源字符串中所有的 regex.

             9: trim(): 把字符串首尾的空格删除。

              10: String valueOf() :  把基本类型转换为 Sting 类型

                  注: String 类提供的方法,丢更改字符串的都是产生一个新的子字符串,并不会更改源字符串的内

                           容。

 

               StingBuffer  类:

           StringBuffer类表示字符串缓存。

           常用方法:

                 1: length() : 返回字符串的字符个数。 用户和 String 类相同

                 2:append(); 向缓存区添加新的字符串

                3:toString(); 返回缓存区内的字符串。

                4:charAt(int index) 和 setCharAt(int index, char ch): 前者用法与 String 类的相同。

                       后者则在字符串中的index 位置放置字符 ch .

                 5: getChars(int srcBegin,int srcEnd,char dst[ ] ,int dstbegin):  用法和 String 类一样

                 6:substring() :  用法和String 类一样。

                 7 : insert(int offset , String str) : 字符串中的 offset 位置插入字符串 str .

 

         String 类 和 StringBuffer 类的比较:

              相同:

          1:  都是用来处理字符串的

           2:都提供了 length() , toString() ,charAt() , substring() 方法 ,用法一样

          3:对于String 类 和 StringBuffer 类,字符在字符串中的索引位置都从 0 开始。

           4:两个类的 substring( int beginIndex, int endIndex)方法都是用来截取字符串,且范围都是从

                 beginIndex 开始, 到 endIndex--1 为止。

                 不同:

          1: String 类 是不可变类 , StringBuffer 类 是可变类

                   String 类提供的 比如  substring ,replace 等方法 都不会更改字符串内容,实际上是创建一个方法

                   所浮于特性的新字符串。 返回一个改变后内容的新字符串。

                  StringBuffer 的 appeng(),等方法都会改变字符缓冲区中的字符串内容。

           2: String 类 覆盖了Object类的 equals()方法

                    StringBuffer类没有覆盖

            3: 都覆盖了Object()类的 toString() 方法,实现不一样

                   String类的toString() 方法返回当前String实例本身的引用。

                  StringBuffer类的toString方法返回一个以当前StringBuffer的缓冲区中的所有字符串为内容的新的

                     String对象的引用。

           4: String 对象可以用 操作符 "+ " 进行连接

                   StringBuffer 不能

分享到:
评论

相关推荐

    浅析我对 String、StringBuilder、StringBuffer 的理解

    StringBuilder、StringBuffer 和 String 一样,都是用于存储字符串的。这篇文章谈谈小编对String、StringBuilder、StringBuffer 的理解,感兴趣的朋友跟随小编一起看看吧

    Java 基础面试题

    14. String、StringBuffer和StringBuilder区别 15. Map的键和值可以为null吗,为什么 16. 集合排序,内排序,外排序 17. 动态代理和静态代理 18. 封装、继承、多态 19. static加载顺序 20. 代理和反射(3分钟)...

    Java面试题.docx

    3、String、StringBuffer、StringBuilder区别 4、什么是内部类?内部类的作用 5、进程和线程的区别 6、final,finally,finalize的区别 7、Serializable 和Parcelable 的区别 8、静态属性和静态方法是否可以被...

    涵盖了90%以上的面试题

    String,StringBuffer,StringBuilder有什么区别 java中的数组是不是对象 数组初始化的方式有哪几种 length属性和length()方法有什么区别 finally块中的代码什么时候被执行 Java中的异常处理机制的简单原理和应用。 ...

    一些面试中出现率比较高的题

    2016,一些面试中出现率...String、Stringbuffer、StringBuilder的区别? ArrayList和LinkedList有什么区别 类的实例化顺序、比如父类静态数据、构造函数、字段、子类静态数据、构造函数、字段、他们的执行顺序。。。。

    java面试问题总结

    9.StringBuffer和StringBuilder的区别?(实际面试题) 1.在执行速度方面的比较:StringBuilder 快于 StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符...

    java面试要点集合

    3、String和StringBuffer区别 4、jsp有哪些动作标记 5、动态Include和静态Include的区别 6、Exception中Finally的用法 7、jsp的内置对象有哪些 北京环贸通科技有限公司 1、jsp两种跳转方式 2、struts标签库有哪些 ...

    30天搞定Java–day20

    文章目录每日一考和复习Java常用类字符串相关的类String类String的特性String陷阱String常用方法String和其他类型转换StringBuffer类、StringBuilder类StringBuffer的常用方法效率对比JDK 8之前的日期时间API ...

    安卓java读取网页源码-AndroidLearningNotes:第一次提交

    String、StringBuffer、StringBuilder区别 什么是内部类?内部类的作用 抽象类的意义 抽象类与接口的应用场景 抽象类是否可以没有方法和属性? 接口的意义 泛型中extends和super的区别 父类的静态方法能否被子类重写...

    Java面试宝典2020修订版V1.0.1.doc

    StringBuffer和StringBuilder区别? 17 21、数组中有没有length()方法,String中有没有length()方法? 18 23、final, finally, finalize的区别。 18 24、‘==’和equals的区别? 18 25、JAVA中Object类中有哪些...

    千方百计笔试题大全

    23、String 和StringBuffer 的区别? 10 24、String, StringBuffer StringBuilder 的区别。 10 25、Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值的类型? 10 27、描述一下JVM 加载class 文件的...

    java面试宝典

    23、String 和StringBuffer 的区别? 10 24、String, StringBuffer StringBuilder 的区别。 10 25、Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值的类型? 10 27、描述一下JVM 加载class 文件的...

    JAVA面试题最全集

    13.String 和 StringBuffer 14.Serializable 15.MVC (Struts的工作流程) 16.什么是MDA 17.tcp与udp的区别 18.链表与散列表和数组的区别 19.堆和栈的区别 20.ejb的分类及区别 21.你对现在软件业以及国内...

    java面试题

    String和StringBuffer的区别? 答:String是不可变的对象,每次对String类型进行改变都相当于产生了一个新的对象,StringBuffer是可变的字符序列,所以如果要经常改变某个字符串的话建议使用StringBuffer。 list、...

    大数据面试题.pdf

    1-9)使⽤ StringBuffer ⽽不是 String 当需要对字符串进⾏操作时,使⽤ StringBuffer ⽽不是 String,String 是 read-only 的,如果对它进⾏修改,会产⽣临时对象, ⽽ StringBuffer 是可修改的,不会产⽣临时对象...

    最新Java面试宝典pdf版

    34、String 和StringBuffer的区别 23 35、如何把一段逗号分割的字符串转换成一个数组? 24 36、数组有没有length()这个方法? String有没有length()这个方法? 24 37、下面这条语句一共创建了多少个对象:String s="a...

    Java面试宝典2010版

    34、String 和StringBuffer的区别 35、如何把一段逗号分割的字符串转换成一个数组? 36、数组有没有length()这个方法? String有没有length()这个方法? 37、下面这条语句一共创建了多少个对象:String s="a"+"b"+...

    Java面试笔试资料大全

    34、String 和StringBuffer的区别 23 35、如何把一段逗号分割的字符串转换成一个数组? 24 36、数组有没有length()这个方法? String有没有length()这个方法? 24 37、下面这条语句一共创建了多少个对象:String s="a...

    Java面试宝典-经典

    34、String 和StringBuffer的区别 23 35、如何把一段逗号分割的字符串转换成一个数组? 24 36、数组有没有length()这个方法? String有没有length()这个方法? 24 37、下面这条语句一共创建了多少个对象:String s="a...

    JAVA面试宝典2010

    34、String 和StringBuffer的区别 23 35、如何把一段逗号分割的字符串转换成一个数组? 24 36、数组有没有length()这个方法? String有没有length()这个方法? 24 37、下面这条语句一共创建了多少个对象:String s="a...

Global site tag (gtag.js) - Google Analytics