如何将结帐 StringBuilder 对象传递给方法?

问题描述

我有一个方法和它的要求

private static someMethod initSomething(StringBuilder someString,int number){
   ...  
   someString = new StringBuilder();     <- ????
   this.someString.append(someString);   <- ????
}

initSomething("ddddd",1234);

我只想在这方法中传递一个字符串。而且我不喜欢使用普通的String,因为它是较慢的StringBuilder。

解决方法

你写道:

private static someMethod initSomething(StringBuilder someString,int number){ 
   someString = new StringBuilder();     <- You just overwrote `someString`
   this.someString.append(someString);   <- Appending `someString`onto itself?
   // You are also missing `return`. And what is `someMethod`?
}

我用观察和问题修改了对原始代码的注释。我想你想做的是这样的:

private static StringBuilder initSomething(String someString,int number){  
   StringBuilder builder = new StringBuilder();
   builder.append(someString);
   // more code here?
   return builder;
}

或者,您可以像这样返回一个字符串:

return bulder.toString();

如果您需要将 StringBuilder 对象传递给该方法,那么您应该执行以下操作:

private static String initSomething(StringBuilder builder,int number){
   builder.append(...);  <- what is being appended,number? You'll need to pass what is being appended to the method
   // more code here?
   return builder.toString();
}

综上所述,您的问题根本不清楚。我不完全确定你想解决什么问题。希望这会有所帮助。