相关疑难解决方法(0)

字符串是不可变的 - 这意味着我永远不应该使用+ =而且只能使用StringBuffer?

字符串是不可变的,这意味着,一旦创建它们就无法更改.

那么,这是否意味着如果你用+ =附加的东西比你创建一个StringBuffer并附加文本那么需要更多的内存?

如果你使用+ =,每次必须保存在内存中时你会创建一个新的'对象',不是吗?

java string stringbuilder stringbuffer immutability

11
推荐指数
4
解决办法
6310
查看次数

代码段的时间复杂度

从在线笔记中,我阅读了以下用于反转字符串的java代码片段,据称该字符串具有二次时间复杂度.在我看来,我的"for"循环只是迭代s的整个长度.它是如何导致二次时间复杂度的?

public static String reverse(String s)
{
  String rev = new String();
  for (int i = (s.length()-1); i>=0; i--) {
      rev = rev.append(s.charAt(i));
  }
  return rev.toString();
}
Run Code Online (Sandbox Code Playgroud)

java string algorithm data-structures

3
推荐指数
1
解决办法
550
查看次数

为什么将JSON视为[]字节而不是字符串?

RFC 7159说

JavaScript Object Notation(JSON)是用于结构化数据序列化的文本格式.

但Go将JSON视为 []byte

func Marshal(v interface{}) ([]byte, error)
func Unmarshal(data []byte, v interface{}) error
Run Code Online (Sandbox Code Playgroud)

为什么这些函数不能获取并返回string

我在这里找不到任何解释 https://golang.org/pkg/encoding/json/ https://blog.golang.org/json-and-go

json go

0
推荐指数
1
解决办法
418
查看次数