相关疑难解决方法(0)

StringBuilder和StringBuffer之间的区别

StringBuffer和之间的主要区别是StringBuilder什么?在决定其中任何一个时,是否存在任何性能问题?

java stringbuilder stringbuffer

1510
推荐指数
18
解决办法
77万
查看次数

为什么字符串在Java和.NET中不可变?

为什么他们决定在Java和.NET(以及其他一些语言)中使字符串不可变?他们为什么不让它变得可变?

.net java string mutable

189
推荐指数
9
解决办法
4万
查看次数

为什么String在Java中是不可变的?

我在接受采访时被问到为什么String是不可变的

我这样回答:

当我们在java中创建一个字符串时,String s1="hello";就会在字符串池(hello)中创建一个对象,而s1将指向hello.如果我们再这样做,String s2="hello";那么将不会创建另一个对象但s2将指向,hello 因为JVM将首先检查如果字符串池中存在相同的对象. 如果不存在则只创建一个新对象,否则不创建.

现在,如果假设Java允许串可变那么如果我们改变S1hello world那么S2价值也将hello world因此Java字符串是不可改变的.

如果我的答案是还是错,请问任何人可以告诉我吗?

java string

169
推荐指数
7
解决办法
18万
查看次数

为什么我们有String类,如果StringBuilder或StringBuffer可以做String的作用?

我一直想知道为什么JAVA和C#有String(immutable&threadsafe)类,如果它们有StringBuilder(mutable¬ threadsafe)或StringBuffer(mutable&threadsafe)类.上课不是StringBuilder/ StringBuffer超集String吗?我的意思是,String如果我选择使用StringBuilder/ ,我为什么要使用课程StringBuffer

例如,而不是使用以下,

String str;
Run Code Online (Sandbox Code Playgroud)

为什么我不能总是使用以下?

StringBuilder strb; //or
StringBuffer strbu;
Run Code Online (Sandbox Code Playgroud)

简而言之,我的问题是,如果我StringStringBuffer类替换,我的代码将如何生效?此外,StringBuffer还增加了可变性的优势.

c# java

2
推荐指数
1
解决办法
1533
查看次数

标签 统计

java ×4

string ×2

.net ×1

c# ×1

mutable ×1

stringbuffer ×1

stringbuilder ×1