gpt4 book ai didi

java - 在 Java 中使用 String 或 StringBuffer : which is better?

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:28 25 4
gpt4 key购买 nike

我阅读了很多有关使用 StringBuffer 和 String 的文章,尤其是在 Java 中涉及连接的地方,以及它们是否是线程安全的。

那么,在Java的各种方法中,应该使用哪些呢?

例如,在 PreparedStatement 中,查询应该是一个 StringBuffer:

    String query = ("SELECT * " +
"FROM User " +
"WHERE userName = ?;");

try {
ps = connection.prepareStatement(query);

然后再一次,在 String 实用程序方法中,如:

public static String prefixApostrophesWithBackslash(String stringIn) {
String stringOut = stringIn.replaceAll("'", "\\\\'");
return stringOut;
}

和:

 // Removes a char from a String.
public static String removeChar(String stringIn, char c) {
String stringOut = ("");
for (int i = 0; i < stringIn.length(); i++) {
if (stringIn.charAt(i) != c) {
stringOut += stringIn.charAt(i);
}
}
return stringOut;
}

我应该使用 StringBuffers 吗?特别是在 repalceAll 无论如何都不可用于此类对象的情况下。

谢谢

摩根先生。

谢谢大家的建议。在我认为最好的地方,StringBuffers 已被 StringBuilders 取代,Strings 已被 StringBuilders 取代。

最佳答案

您几乎不需要使用 StringBuffer

而不是 StringBuffer 你可能是指 StringBuilder . StringBuffer 类似于 StringBuilder,只是它还提供线程安全。这种线程安全在实践中很少需要,只会导致您的代码运行得更慢。

您的问题似乎不是关于 String 与 StringBuffer 的问题,而是关于使用内置方法或自己实现代码的问题。如果有一个内置方法可以完全满足您的需求,那么您应该使用它。它很可能比您编写的代码优化得更好。

关于java - 在 Java 中使用 String 或 StringBuffer : which is better?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3279120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com