钥匙差 - 字符串vs StringBuffer vs StringBuilder在Java中
字符串,StringBuffer和String Builder是爪哇。字符串广泛用于Java编程。一次目的创建了字符串,不可能更改它们。每次对字符串发生更改时,都会创建一个新的字符串。即使它是与现有字符串的串联,它也会创建一个新的字符串。这会导致记忆浪费。Java中的StringBuffer和StringBuilder类用于修改字符串。这关键区别在Java中的字符串,StringBuffer和StringBuilder之间字符串是创建类型字符串对象的类,该字符串是字符序列,StringBuffer是一个类,用于修改提供线程安全的字符串,而StringBuilder是用于修改不提供线程安全的字符串的类。
内容
1。概述和关键差异
2。Java中的字符串是什么
3。什么是Java中的StringBuffer
4。什么是Java中的StringBuilder
5。Java中的字符串串和StringBuilder之间的相似之处
6。并排比较 - 字符串vs stringbuffer vs stringBuilder在标签形式中以java形式
7。概括
Java中的字符串是什么?
字符串类位于java.lang软件包中。每次程序员创建一个字符串时,它都是类型字符串的对象。字符串是不可变的含义,一旦创建对象,就无法更改。使用包装器类创建的对象,例如整数,,,,字节,浮子,双重也不可变。字符串文字用双引号封闭。例如“你好世界”。每当创建字符串的字符串时,Java虚拟机(JVM)检查字符串常数池。如果字符串存在,则返回对字符串常数池的引用。如果是一个新字符串,则该对象是在字符串常数池中创建的。
请参阅以下代码。
字符串S1 =“ Hello”;
S1 = S1 +“世界”;
system.out.println(s1);
在第一个语句中,S1指的是字符串常数池中的“ Hello”。在第二个语句中,JVM不会更改现有字符串。取而代之的是,它创建一个新字符串为“ Hello World”,而S1现在指的是该新字符串。流出的“ Hello”对象仍然存在于字符串常数池中。
如果有一个代码,
字符串S1 =“ Hello”;
字符串S2 = S1;
S1,S2都将引用字符串对象“ Hello”。
Java中的StringBuffer是什么?
StringBuffer类用于使字符串对象可变。因此,可以修改这些对象。StringBuffer定义了四个构造函数。StringBuffer(),StringBuffer(int size),StringBuffer(String str),StringBuffer(char sequence [] ch)
参考下面的代码,
StringBuffer S1 = new StringBuffer(“ Hello”);
s1.append(“世界”);
system.out.println(s1);
在语句1中,S1指的是堆中的“ Hello”对象。该对象是可变的,因为它是使用StringBuffer创建的。在语句2中,“世界”附加到相同的“ Hello”字符串对象。
使用StringBuffer类创建的字符串对象可以保存内存。StringBuffer提供线程安全性,因为两个线程无法同时访问StringBuffer类中的相同方法。线程安全性降低弦乐器性能。StringBuffer类包含诸如append(),insert(),reververs(),replace()之类的方法。
Java中的StringBuilder是什么?
StringBuilder类用于使字符串对象可变。因此,可以修改这些对象。该功能类似于StringBuffer,但这不能提供线程安全性。StringBuilder具有构造函数,例如StringBuilder(),StringBuilder(int size),StringBuilder(String str)。
请参阅以下代码。
StringBuilder S1 = new StringBuilder(“ Hello”);
s1.append(“世界”);
system.out.println(s1);
在语句1中,S1指的是堆中的“ Hello”对象。该对象是可变的,因为它是使用StringBuilder创建的。在语句2中,“世界”附加到相同的“ Hello”字符串对象。没有创建全新的字符串对象。
使用StringBuilder类创建的字符串对象可以保存内存。与StringBuffer不同,StringBuilder不提供线程安全性,因为两个线程可以同时访问StringBuilder类中的相同方法。StringBuilder类包含诸如append(),insert(),reververs(),replace()之类的方法。
Java中的字符串,StringBuffer和StringBuilder之间的相似性是什么?
- 所有这些都可以用来创建字符串。
Java中的String Buffer和StringBuilder有什么区别?
字符串vs StringBuffer vs StringBuilder |
|
细绳 | 字符串是一个Java类,用于创建类型字符串的对象,该对象是字符的序列。 |
StringBuffer | StringBuffer是一种Java类,用于创建字符串对象,可以通过线程安全进行修改。 |
StringBuilder | StringBuilder是用于创建字符串对象的类,可以在没有线程安全的情况下修改。 |
可变性 | |
细绳 | 字符串是不变的类。 |
StringBuffer | StringBuffer是一个可变的类。 |
StringBuilder | StringBuilder是一个可变的类。 |
线程安全 | |
细绳 | 字符串方法是线程安全的。 |
StringBuffer | StringBuffer的方法是螺纹安全和同步的。 |
StringBuilder | StringBuilder的方法不是安全的,也不同步。 |
表现 | |
细绳 | 字符串很快。 |
StringBuffer | StringBuffer很慢。 |
StringBuilder | StringBuilder很快。 |
摘要 - 字符串vs StringBuffer vs StringBuilder在Java中
字符串,StringBuffer和StringBuilder似乎是相同的,但是它们的含义不同。所有这些都是Java课程。Java中字符串,StringBuffer和StringBuilder之间的区别在于,String是创建类型字符串对象的类,这是一组字符,StringBuffer是一个用于修改字符串和提供线程安全性的类,而StringBuilder是一个用于修改不提供线程安全的字符串的类。
在Java中下载PDF字符串vs StringBuffer vs StringBuilder
您可以下载本文的PDF版本,并根据引文注释将其用于离线目的。请在此处下载PDF版本Java中的StringBuffer和StringBuilder之间的区别
参考:
1.“字符串vs StringBuffer vs StringBuilder。”JournalDev,2017年7月30日。在这里可用
2.“ Java饥饿。”字符串,StringBuilder和StringBuffer类之间的区别与示例:Java |爪哇饿。在这里可用
3.TutorialSpoint.com。“爪哇弦。”重点。在这里可用
发表评论