String 定义的对象不能被修改,修改其实是创建了一个新的对象。

如 :

String s1 = "1";

s1 = s1+ "2";

本来s1 是指向”1“的一个对象 现在 s1是指向 ”12“ 的一个对象。

s1 是一个新的对象。

String 中一些常用的方法:

==  与equal()的 区别

== 是判断 两个字符串的地址是否相同

equal() 是判断 两个字符串的内容是否相同

当频繁操作字符串时,就会额外产生很多临时变量

使用 StringBuilder 或 StringBuffer 就可以避免这个问题。

至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。

因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。

StringBuilder 常用方法

创建了 StringBuilder 对象,用来存储字符串,并对其做了追加和插入操作。这些操作修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。

效率 : StringBuilder > StringBuffer > String

java String/StringBuilder 方法的更多相关文章

  1. Java String.contains()方法(转载)

    Java String.contains()方法 Java String.contains()方法用法实例教程, 返回true,当且仅当此字符串包含指定的char值序列 描述 java.lang.St ...

  2. Java String.replace()方法

    Java String.replace()方法用法实例教程, 返回一个新的字符串,用newChar替换此字符串中出现的所有oldChar 声明 以下是java.lang.String.replace( ...

  3. Java String lastIndexOf() 方法

    Java String lastIndexOf() 方法 测试代码 public class Test { public static void main(String[] args) { // -- ...

  4. 【转载】关于Java String, StringBuilder, StringBuffer, Hashtable, HashMap的面试题

    REF: http://blog.csdn.net/fightforyourdream/article/details/15333405 题目是一道简单的小程序,像下面这样:[java] view p ...

  5. Java String.compareTo()方法

    描述:java.lang.String.compareTo() 方法比较两个字符串的字典. 比较是基于字符串中的每个字符的Unicode值.此String对象表示的字符序列的 参数字符串表示的字符序列 ...

  6. java String.split方法是用注意点(转)

    转自:http://www.blogjava.net/fanyingjie/archive/2010/08/05/328059.html 在java.lang包中有String.split()方法,返 ...

  7. Java String.replaceAll()方法

    声明  以下是java.lang.String.replaceAll()方法的声明 public String replaceAll(String regex, String replacement) ...

  8. [Java] String.Split 方法的6个重载函数

    String.Split 方法有6个重载函数: 程序代码 1) public string[] Split(params char[] separator) 2) public string[] Sp ...

  9. java String,StringBuilder和StringBuffer

    String:1.java语言中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但java一般使用Sting类作为字符串的标准格式,java编译器把字符串值作为String对象. ...

随机推荐

  1. GoodReads: Machine Learning (Part 3)

    In the first installment of this series, we scraped reviews from Goodreads. In thesecond one, we per ...

  2. [netty源码分析]3 eventLoop 实现类SingleThreadEventLoop职责与实现

    eventLoop是基于事件系统机制,主要技术由线程池同队列组成,是由生产/消费者模型设计,那么先搞清楚谁是生产者,消费者内容 SingleThreadEventLoop 实现 public abst ...

  3. js的event事件

    一 .  焦点:使浏览器能够区分区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置焦点 1.点击 2.tab   3.js 不是所有元素都能够接受 ...

  4. Unity遮挡透明渐变

    遮挡透明若没有渐变实现方法: 1.透明中物体存在list中 2.每过一段时间(可以每帧,但是流畅性会降低)摄像机发送一条射线向玩家,out hitInfo 3.list与hitInfo比对,将在lis ...

  5. NFS文件共享

    NFS文件共享 简介 NFS即网络文件系统(network file system),监听在TCP 2049端口. 服务器需要记住客户端的ip地址以及相应的端口信息,这些信息可以委托给RPC(remo ...

  6. 深度解析 H.265 视频解决方案

    又拍云上线了 H.265 从编码解码到 CDN 分发,完整的端到端的自适应解决方案:提供视频上传.视频存储.视频编码.视频分发适配.视频解码等功能.又拍云希望能以云服务的方式将大公司才能长期支付使用的 ...

  7. css3的学习

    已经学习css3一个月了,通过对css3的深入学习,我对网页设计的理解就更深刻了,以前只会用简单的图片,定位等来制作网页,现在可以运用css3扩展的新内容来写出更好看的网页. css3扩展内容中,我认 ...

  8. 玩转nodeJS系列:使用cluster创建nodejs单机多核集群(多进程)

    前言: nodejs提供了cluster集群(支持端口共享的多进程),cluster基于child_process,process二次封装,方便我们使用该功能实现单机nodejs的web集群. 1.c ...

  9. 关于Myeclipse不能加载已有项目的问题

    如果缺少.project文件,你可以新建一个同名项目,把Use default location 去掉,选择要加载的项目,完成

  10. oracle中的function的简单语法定义

    1. create or replace 函数名 (参数名 in 类型) return 返回值类型 as 定义变量 begin 函数体 end;