在java类库中,java给我们提供了字符串几个特别的操作,分别是String,Stringbuffer,Stringbuilder等。下面就对这几个类做一个简单的介绍。首先,我们先了解一下String,源码中,定义该类型的类是被一个final修饰,这就注定了String永远不可能被继承。那么相对于其他几个,什么时候用String呢?String字符串常量一旦被声明,就不可能被改变,所以String类不适合被频繁修改。对于字符串中常用的操作方法有很多,这里不需要死记硬背,会查会检索,会应用即可。这里对String的方法不做详细介绍,关于String和Stringbuffer之间的转换,这里有必要说一下String转换为Stringbuffer,代码如下:

//        利用构造函数
StringBuffer net = new StringBuffer("www.abc.com");
System.out.println(net); // 利用append方法
net.append(".world");
System.out.println(net);

据以上代码可以看出有两种方式,第一种是利用构造函数,第二种是利用append方法。那么Stringbuffer转换为String是怎么转换的,第一种方式就是利用Stringbuffer中的toString方法,第二种方式就是利用String的构造函数。代码如下:

//        利用StringBuffer中的toString方法
StringBuffer sb = new StringBuffer("www.abc.com"); System.out.println(sb.toString()); // 利用String的构造函数
String s = new String(sb); System.out.println(s);

以上说的是之间的转换,对于Stringbuffer类,常用的操作方法有append,字符串反转reverse,指定位置insert追加内容,删除delete指定指引操作,代码如下:

        StringBuffer sb = new StringBuffer("hello");

        System.out.println(sb.reverse());

        System.out.println(sb.reverse().indexOf("llo"));

        System.out.println(sb.insert(3, 3));

        System.out.println(sb.delete(3, 4));   

而Stringbuilder与Stringbuffer一样,功能也相同,在Stringbuffer类中定义的方法都是synchronized进行同步定义,而Stringbuilder没有进行同步定义,是异步方法,线程不安全。对于以上三种字符串操作,这里做个简单的总结:String类一旦声明则不可改变,而其它是可以改变的,Stringbuffer提供的方法时同步方法,属于安全线程操作。

java类库字符串操作的更多相关文章

  1. JAVA作业—字符串操作

    ------------恢复内容开始------------ ------------恢复内容开始------------ ------------恢复内容开始------------ ------- ...

  2. Java的字符串操作

    目录 Java的字符串操作 一.不同字符串操作的对比 1.1 C++中const修饰指针 const在星号的左边,是被指向的常量不可变 const在星号的右边,是指针的指向不可变 二. Java字符串 ...

  3. Java的字符串操作一些简单的思考

    Java的字符串操作 1 .1不可变的String String对象事不可变的,String类中的每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符 ...

  4. Java Script 字符串操作

    JS中常用几种字符串操作: big() small() bold() fontcolor() fontsize() italics() strike() link() charAt() charCod ...

  5. Java String 字符串操作小结

    // 转载加编辑 -- 21 Apr 2014 1. Java字符串中子串的查找 Java中字符串中子串的查找共有四种方法,如下: 1.int indexOf(String str) :返回第一次出现 ...

  6. 使用javap分析Java的字符串操作

    我们看这样一行简单的字符串赋值操作的Java代码. String a = "i042416"; 使用命令行将包含了这行代码的Java类反编译查看其字节码: javap -v con ...

  7. 四:Java之字符串操作String、StringBuffer和StringBuilder

    string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer ...

  8. Java基础(一)-- Java对字符串操作大全

    一.Java字符串类基本概念 在JAVA语言中,字符串数据实际上由String类所实现的.Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串:二类是在程序中会被改变长度的可变字符串.J ...

  9. android TextView字体设置最少占多少行. 及其 Java String 字符串操作 . .

    ①  字体设置: 修改代码 :  GridViewActivity.java priceTv为 TextView priceTv.setMaxLines(3); //当多与7个字fu的时候 , 其余字 ...

随机推荐

  1. 学习LINQ必备条件

    转自:http://www.cnblogs.com/VolcanoCloud/p/4451302.html 学习LINQ必备条件:隐式类型局部变量:对象集合初始化器:委托:匿名函数:lambda表达式 ...

  2. Tornado @tornado.gen.coroutine 与 yield

    在使用 Tornado 的过程中产生了以下疑问: 什么时候需要给函数增加 @tornado.gen.coroutine 什么时候调用函数需要 yield @tornado.gen.coroutine ...

  3. 联合约束 CONCAT()

    w SELECT 原理. SELECT * FROM wz WHERE CONCAT(wint,wchar) NOT IN (SELECT CONCAT(wint,wchar) FROM wa); S ...

  4. 伪造堆块绕过unlink检查(ctf-QiangWangCup-2015-shellman)

    目录 堆溢出点 伪造空闲堆块 释放时重写指向伪造堆块的指针 如何利用 参考资料 堆溢出点 图1           堆溢出点 在edit函数中,没有对输入的长度和原来的长度做判断. 伪造空闲堆块 正常 ...

  5. 如何实现手游app瘦身?

    手游服务商来说,手游包体大一直是个很困扰的问题.一款手游产品而言,包体大小和更新方式对于有效用户的转化率往往起到非常关键的作用,话说手游安装包越小,用户转化率越高,那该如何实现app瘦身呢? 工具/原 ...

  6. Sublime Text 中文

    1.打开Sublime Text 2.Ctrl+Shift+P,输入Package Control: Install Package回车 3.输入LocalizedMenu,回车 4.点击菜单help ...

  7. linux 配置SSH网络传输数据安全方案,JDK,Tomcat和Eclipes

    一.通过ssh实现安全远程访问linux系统 ssh :secure shell 加密: 1. 对称加密 (加密密钥与解密密钥相同) des .aes 2. 非对称加密(加密密钥与解密密钥不同) RS ...

  8. 简明python教程九----异常

    使用try...except语句来处理异常.我们把通常的语句放在try-块中,而把错误处理语句放在except-块中. import sys try: s = raw_input('Enter som ...

  9. 10、property

    成人的BMI数值:过轻:低于18.5正常:18.5-23.9过重:24-27肥胖:28-32非常肥胖, 高于32 体质指数(BMI)=体重(kg)÷身高^2(m) EX:70kg÷(1.75×1.75 ...

  10. C++匿名名字空间

    转自:http://blog.csdn.net/eric_arrow/article/details/8978905 名字空间(namespace),是C++提供的一个解决符合名字冲突的特性.标准规定 ...