在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. UIScreen(屏幕)、UIWindow(画框)、UIView(画布)、didFinishLaunchingWithOptions的概念

    //didFinishLaunchingWithOptions 方法:顾名思义.在app开始运行时会调用里面的方法.- (BOOL)application:(UIApplication *)appli ...

  2. datasnap 授权验证DSAuthenticationManager方法应用

    服务端 1.服务端只需要增加DSAuthenticationManager1并且把dshttpservice的AuthenticationManager属性设置为DSAuthenticationMan ...

  3. vue项目中批量打印二维码

    前提:项目中要打印的二维码为后台返回,批量选择后,点击打印,先打开二维码预览界面,再执行打印. 以下代码中 codePicList为选中的二维码数组.重点css:page-break-after:al ...

  4. LeetCode_链表操作1—Swap Nodes in Pairs

    Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-& ...

  5. LInux下桥接模式详解二

    上篇文章导入博客园的比较早,而这篇自己在写的时候才发现内部复杂的很,以至于没能按时完成,造成两篇文章的间隔时间有点长! 话不多说,言归正传! 前面的文章介绍了桥接模式下的基础理论知识,其实本节想结合L ...

  6. VUE的安装与Django之间打通数据

    一  VUE的安装与项目创建 1.1.安装nodeJS 官网下载安装:https://nodejs.org/zh-cn/ 1.2.安装脚手架 vue官网 => 学习 => 教程 => ...

  7. 【我的Android进阶之旅】TortoiseSVN 客户端 如何重置用户名和密码?

    在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了. 不过,今天 ...

  8. HTML容易遗忘内容(三)

  9. 009-Shell 函数

    一.函数定义 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用. shell中函数的定义格式如下: [ function ] funname [()] { action; ...

  10. PAT 1059 Prime Factors[难]

    1059 Prime Factors (25 分) Given any positive integer N, you are supposed to find all of its prime fa ...