在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. 2018-2019-1 20165330 《信息安全系统设计基础》第六周课上测试ch02&课下作业

    课上测试 测试-3-ch02 任务详情 编写一个程序 "week0203学号.c",运行下面代码: 1 short int v = -学号后四位 2 unsigned short ...

  2. mysql备份总结

    w汇总对比. mysqldump -u user -p wdbname > /www/wbak.sql pwd CREATE TABLE wbak_w_02071349 LIKE w; INSE ...

  3. java基础03变量和基本数据类型

    package cn.bdqn.test; /** * * @author 小豆腐 * * 变量:会变化的量?? * 一个数据在内存中存储空间的表示!在运行期间可以动态改变! * * 关键字:在jav ...

  4. oracle脚本执行多条语句报错

    情况一: create table edu_group_parent ( group_id ) primary key not null, group_name ), group_url ), gro ...

  5. Flask的配置与路由

    配置管理 flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为:    {        'DEBUG':                    get_de ...

  6. PAT 1146 Topological Order[难]

    1146 Topological Order (25 分) This is a problem given in the Graduate Entrance Exam in 2018: Which o ...

  7. Ubuntu解压命令全览

    1. Ubuntu解压命令全览.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName 注:tar是打包,不是压缩! .gz 解压1:g ...

  8. vue——学习笔记

    1.vue需要在dom加载完成之后实现实例化 eg: window.onload = function(){ new Vue({ el: '#editor', data: { input: '# he ...

  9. 漫谈DOM 事件流的三个阶段

    一丶 流 什么是流? 比如 react 中的单项数据流,Node.js 中的流,或者本文中的 DOM 事件流,都是流的具体体现.专业地讲,流是程序输入或输出的一个连续的字节序列:通俗地讲,流是有方向的 ...

  10. SQLAlchemy-Utils,提供choice功能

    SQLAlchemy操作数据库建表时,无法像Django一样提供choice方法,我们开头导入SQLAlchemy-Utils来为我们提供这个功能 pip3 install sqlalchemy-ut ...