【Java-常用类】String类,StringBuffer类,StringBuilder类

String类

  • String类是一个final类,代表不可变的字符串序列
  • 字符串是不可变的,一个字符串一旦被分贝,其内容是不可变的

字符串中判断对象相等是“=”,判断内容相等是“equals()”;

String s1 = "ttf";
String s2 = "java";
String s3 = "java";
String s4 = new String("java");
String s5 = "ttfjava";
System.out.println(s2 == s3);//true,都存储在字符串常量池中
System.out.println(s2 == s4);//false,s4是对象,s2不是
System.out.println(s2.equals(s4));//true,比较的是内容
String s6 = (s1 + s2).intern();//intern()就是将对象放入字符串常量池中
System.out.println(s5.equals(s6));//true,判断的时内容
System.out.println(s5 == s6);//true,判断的是地址,同一个地方
String s = "a";
s = s + "b";//把原来的s对象丢弃,产生一个新的ab;

常用方法

str.length();//字符串长度
str.charAt(2);//字符串第三个字符
str.trim();//去掉字符串两头的空白字符
String[] strs = str.split(‘|‘);按照什么字符拆分字符串
int num = parseInt(str);//将str转为基本数据类型

StringBuffer

  • StringBuffer类是一个可变的字符序列,可以对字符串内容进行增删
  • StringBuffer类是一个容器
  • 方法与String相同

构造方法

StringBuffer()//初始一个容量为16的字符串缓冲区
StringBuffer(int size);//构造指定容量的字符串缓冲区
StringBuffer(String str)//将内容初始化为指定字符串内容
StringBuffer sb = new StringBuffer("ttf");
sb.append("love java");//给字符串缓冲区后面添加字符串

append可以添加整数或者Object类型

StringBuilder

  • String 不可变字符序列
  • StringBuffer 可变字符序列,效率低,线程安全
  • StringBuilder 可变字符序列,效率高,线程不安全

StringBuilder用法和StringBuffer一样

时间: 2024-11-08 03:34:08

【Java-常用类】String类,StringBuffer类,StringBuilder类的相关文章

java12-字符串操作类String、StringBuffer、StringBuilder

1.概述 刚看了一下,我截图的文档字太小了好像有点看不清,请放大浏览器页面观看(Ctrl + 鼠标滚轮)或者到  官方API文档查看 无论是哪种编程语言,对字符串的操作都是必不可少的.JAVA中为我们提供了三个操作字符串的类,分别是String.StringBuffer.StringBuilder,下面我们将会详细进行介绍. String.StringBuffer.StringBuilder类都是在java.lang包中定义的.所有的应用程序都可以使用他们.所有的这些类都被声明为final,这就

深刻理解Java中的String、StringBuffer和StringBuilder的区别

首先简单地来梳理一下Java中String.StringBuffer和StringBuilder各自的含义. 1.String类 首先,它是线程安全的,即可以用于多线程编程中: 其次,String类的对象是不可变的,即在定义时就确定了,类似String str="Hello";str+="Java";的语句其实是生成了新的对象,只是我们未察觉到而已.但是注意在大量的字符串新建对象时消耗就很可观,这时必须考虑采用StringBuffer或StringBuilder,否

Java中的String、StringBuffer和StringBuilder

任何语言都离不了字符串的处理.Java中处理字符串的三个类String.StringBuffer和StringBuilder.这三个到底有什么区别呢? 他们三个都是实现了CharSequence接口.但实现过程不一样. 其实他们的使用方法都很简单,这里看下StringBuilder的用法. public class TestStringBuffer{ public static void main(String args[]){ StringBuffer str=new StringBuffer

Java之字符串String,StringBuffer,StringBuilder

总结的很全面,关于这三个类的操作. Java之字符串String,StringBuffer,StringBuilder

Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)

java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的. private final char value[]; StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在Abstra

浅谈String、StringBuffer和StringBuilder类的区别

1.均可对字符串进行修改,但StringBuffer和StringBuilder类的对象进行多次修改时,不产生新的未使用对象. String 的底层是用final修饰的char数组,变量的内容不可变——内存占用高,资源利用率低: StringBuffer和StringBuilder类 则继承了AbstractStringBuilder类,其未使用final修饰char数组,变量内容动态更新——无效数组等待垃圾回收,减少资源占用; 2.StringBuilder相较于StringBuffer有速度

java中的String、StringBuffer、StringBuilder的区别

String.StringBuffer.StringBuilder都是java中的常用字符串类 ,下面来看看三者之间的异同. 一.可变与不可变: String:字符串常量,不可变.StringBuffer.StringBuilder为可变字符序列,是可变的. 二.是否多线程安全: String中的对象是不可变的,相当于常量,显然线程安全. StringBuffer:支持多线程安全. StringBuilder:不支持多线程安全. 三.执行效率: String.StringBuffer.Strin

深刻理解Java中的String、StringBuffer和StringBuilder的差别

声明:本博客为原创博客,未经同意.不得转载!小伙伴们假设是在别的地方看到的话,建议还是来csdn上看吧(链接为http://blog.csdn.net/bettarwang/article/details/26412497),看代码和提问.讨论都更方便. 首先简单地来梳理一下Java中String.StringBuffer和StringBuilder各自的含义. 1.String类 首先.它是线程安全的,即能够用于多线程编程中. 其次,String类的对象是不可变的,即在定义时就确定了,类似St

Java中的String、StringBuffer以及StringBuilder的用法和区别

String String的构造方式有n种(据说n==11),常见的例举一二: // 1 String s1 = "hello world"; // 2 String s2 = new String("hello world"); // 3 char[] a = {'h', 'e', 'l', 'l', 'o'}; String s3 = new String(a, 1, 3); // start length // 4 String s4 = "hell

【JAVA中String、StringBuffer、StringBuilder类的使用】

一.String类概述 1.String对象一旦创建就不能改变. 2.字符串常量池. 字符串常量池的特点:池中有则直接使用,池中没有则创建新的字符串常量. 例1: 1 public class StringDemo 2 { 3 public static void main(String args[]) 4 { 5 StringDemo1(); 6 7 } 8 public static void StringDemo1() 9 { 10 String str1="abcd"; 11