Java 完全替换StringBuilder的正确方法是什么?
正在寻找替换StringBuilder内容的最佳方法Java 完全替换StringBuilder的正确方法是什么?,java,Java,正在寻找替换StringBuilder内容的最佳方法 StringBuilder stringBuilder = new StringBuilder("abc"); stringBuilder = new StringBuilder("12"); 我通常用这个 StringBuilder stringBuilder = new StringBuilder("abc"); stringBuilder.setLength(0); stringBuilder.append("12"); 我想也
StringBuilder stringBuilder = new StringBuilder("abc");
stringBuilder = new StringBuilder("12");
我通常用这个
StringBuilder stringBuilder = new StringBuilder("abc");
stringBuilder.setLength(0);
stringBuilder.append("12");
我想也可以指向一个新的StringBuilder
StringBuilder stringBuilder = new StringBuilder("abc");
stringBuilder = new StringBuilder("12");
重复使用这样的StringBuilder通常会为您节省很多。就我个人而言,我永远不会为这些事情烦恼;只需创建一个新的StringBuilder对象,它简单、一致(您没有重置POJO,对吗?)
因此,我要说的是,保持简单,然后选择第二个选项,除非您在最初的帖子中没有提到一些有趣的约束。像这样重用StringBuilder通常会为您节省一点或一无所有。就我个人而言,我永远不会为这些事情烦恼;只需创建一个新的StringBuilder对象,它简单、一致(您没有重置POJO,对吗?)
所以,我想说,保持简单,然后选择第二个选项,除非你有一些有趣的限制没有在最初的帖子中提到。你的“最佳”标准是什么?这里的背景是什么?您知道下一个最终字符串的长度吗?所以基本上您希望“重置”StringBuilder?我倾向于发现创建一个新的是最清晰的方法。你对“最佳”的标准是什么?这里的背景是什么?您知道下一个最终字符串的长度吗?所以基本上您希望“重置”StringBuilder?我倾向于发现创建一个新的StringBuilder是最清晰的方法。如果在方法中将StringBuilder作为param传递,并且需要返回操纵过的StringBuilder,该怎么办?例如:doMethod(stringBuilder);在这种情况下,如果在doMethod中使用新的StringBuilder(“12”),则调用方方法将不会获得更新。是吗?好吧,撇开这将是一种可怕的编程方式不谈(简单的规则:永远不要操纵输入,请阅读干净的代码),你是对的;在这种情况下,您必须返回新的StringBuilder。如果您在方法中将StringBuilder作为param传递,并且需要返回操纵的StringBuilder,该怎么办?例如:doMethod(stringBuilder);在这种情况下,如果在doMethod中使用新的StringBuilder(“12”),则调用方方法将不会获得更新。是吗?好吧,撇开这将是一种可怕的编程方式不谈(简单的规则:永远不要操纵输入,请阅读干净的代码),你是对的;在这种情况下,您必须返回新的StringBuilder。